Pb de concaténation

Signaler
Messages postés
19
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
3 juillet 2003
-
Messages postés
19
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
3 juillet 2003
-
J'ai un probleme de concaténation qui fait planté mon programme. Je recupere un nom de fichier avec la fonction :
 CString fileName ;
char * Name ;
fileName = objDialog.GetFileName() ;
Name = fileName.GetBuffer(fileName.GetLength) ;

Ensuite, je dois envoyé ce fichier sur le reseau avec la fonction LZCopy et la fonction LZOpenFile pour les handles. Pour ceci, j'ai besoin du chemin destination :
 //dans une boucle for avec 'u' comme index pour chaque borne contenu elle mm dans une boucle for avec 'f' comme index pour chaque fichier
char * buffer ;
buffer = new char[1000] ;
strcpy(buffer, "\\\") ;
strcat(buffer, essaiIP[u]) ; //essaiIP contient les IP des poste
strcat(buffer, "\\Dir\") ; //Dir repertoire partagé sur chaque poste
strcat(buffer, Name[f]) ; // c cette ligne qui fait planté le prog
//qd je remplace cette ligne par :
strcat(buffer, "nom.ext") ; //le prgm tourne correctement
//ensuite, vien la creation du handle et la copie.

voila, je ne comprend pas pkoi le prgm n'accepte pas cette ligne :strcat(buffer, Name[f]) ; mais qu'il veu bien celle là :strcat(buffer, "nom.ext") ; ....

5 réponses

Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
1
Ton Name est déclaré en char* donc quand tu fait strcat(buffer, Name[f]) Name[f] te renvoi un char : donc normal que ca fonctionne pas.

A+,Hart
Messages postés
19
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
3 juillet 2003

Je le déclare en char ?
Messages postés
199
Date d'inscription
lundi 22 juillet 2002
Statut
Membre
Dernière intervention
14 juin 2006

Essai de caster name avec (const char) ça devrait être mieux !

Trinita,
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Pour 'strcat(buffer, Name[f])' tu fais:
***************************
char buffer2[2];

buffer2[0] = Name[f];
buffer2[1] = '\0';
strcat(buffer,buffer2);
*****************************
:-p :sleepy) :shy) :sleepy) :-p
Messages postés
19
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
3 juillet 2003

C glut, c marche ^^