Boucle For pour créer des fichiers

dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 27 avril 2009 à 11:07
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 27 avril 2009 à 14:16
Bonjour, je voudrais faire une boucle pour créer plusieurs fichiers en c++ mais uniquement avec les fonctions Windows. Comment Faire?
(Je ne sais pas comment on peut faire changer le nom d'un fichier en fonction d'une variable i)
Voici mon code:

TCHAR ConnexLogc1[64]= _T("\\code.txt");
TCHAR ConnexLogc2[64]= _T("\\code_OffSet.txt");
TCHAR ConnexLogc3[64]= _T("\\Defauts_def.txt");
TCHAR baseName[63] = _T("\\FLashDisk\\memoire"); //FLashDisk

TCHAR CheminLog1[MAX_PATH];
TCHAR CheminLog2[MAX_PATH];
TCHAR CheminLog3[MAX_PATH];

HANDLE hConnexLog1;
HANDLE hConnexLog2;
HANDLE hConnexLog3;

For(int i=1, i<=3, i++)
{
    wcscpy(CheminLogi, baseName);
    wcscat(CheminLogi, ConnexLogci);
    hConnexLogi = CreateFile(CheminLogi,
                            GENERIC_WRITE|GENERIC_READ,
                            FILE_SHARE_READ,
                            0,
                            CREATE_ALWAYS,
                            FILE_ATTRIBUTE_NORMAL,
                            NULL);

}

5 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 avril 2009 à 11:42
Salut, il faut que tu convertisses ton entier i en chaine de caractère.
Utilise la fonction itoa(), puis tu concatènes ta nouvelle chaine à la fin du nom du fichier.
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
27 avril 2009 à 13:15
Pourrais tu me donner la syntaxe stp. Je ne vois pas comment faire.
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 avril 2009 à 13:30
char Buff[20];
strcpy(CheminLogi, itoa(i,Buff,10));
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
27 avril 2009 à 13:53
Mais CheminLogi je dois le déclarer?
Moi j'ai déclaré:
TCHAR CheminLog2[MAX_PATH];
TCHAR CheminLog4[MAX_PATH];

Normalement CheminLogi sera remplacé par CheminLog2 et CheminLog4 c ca?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 avril 2009 à 14:16
Ok j'avais lu ton post un peu trop vite: tu veux que ce soit ton nom de variable qui soit dynamique.
Dans ce cas, oublie mon précédent post. Il va falloir que tu crées une variable à 2 dimensions:
TCHAR ConnexLogc1[3][64];
wcscpy(ConnexLogc, _T("\\code.txt"));
wcscpy(ConnexLogc,_T("\\code_OffSet.txt"));
wcscpy(ConnexLogc, _T("\\Defauts_def.txt"));

et dans ta boucle for tu fais :
ConnexLogc[i]

A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
0
Rejoignez-nous