Probleme de chaine de caractere

lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007 - 17 oct. 2005 à 16:24
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 18 oct. 2005 à 10:42
Voila j'ai un probleme avec une chaine de caractere j'aimerais pouvoir avec cette double boucle faire la copie d'un fichier XX.txt avec XX ayant une valeur entre 00 et 99, or j'ai un bug assez etrange ma boucle "s'emele" ( j prend la valeur 49 qd on fait appel la 2e fois a strcat... la je comprend plus trop mais je suis pas tres experimenté non plus :) Merci pour votre aide !

BOOL bRet;
char NewFileName[]={"c:\\Zipper_Vtfw32\\a.txt"};
char chaine[10]={'0','1','2','3','4','5','6','7','8','9'};
char FileName[]={"c:\\TEMP\\b.txt"};

int i=0,j=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
char FileName[]={"c:\\TEMP"};
CString minichaine = chaine[i];
strcat(FileName,minichaine);
minichaine = chaine[j];
strcat(FileName,minichaine);

bRet = CopyFile(FileName,NewFileName,0);
if(bRet)
break;
}
if(bRet)
break;
}

2 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 oct. 2005 à 18:39
que vient faire un CString en plein milieu de tout ca ?
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 oct. 2005 à 10:42
char FileName[]={"c:\\TEMP"};

> le compilo alloue exactement la taille de la chaîne (à l'alignement près) > si tu rajoute des trucs après par strcat tu écrase la mémoire qui se situe après.

char FileName[256]={"c:\\TEMP"};
=> alloue 256 caractères pour la chaîne, tu peux rajouter ce que tu veux.
0
Rejoignez-nous