oRTEEZ
Messages postés81Date d'inscriptionvendredi 18 juillet 2003StatutMembreDernière intervention10 septembre 2003
-
21 août 2003 à 19:48
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 2006
-
21 août 2003 à 23:59
Voila tout est dans le sujet.
En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.
ex: *buffer = "voila.jpg"
apres transformation j'aimerai bien avoir
*buffer = "voila-copie.jpg"
La je doit etre fatigue parce que j'y arrive pas trop.
puts(buffer);
//imprime 'c:\winnt\winmine.exe' (en mode console)
bon dans ton cas comme c'est pas a la fin de la chaine il faudra que tu copies une premiere partie de la source, jusqu'au point, puis tu strcat ton "-copie" et enfin le reste de la chaine originale. Pour connaitre la position du premier point tu utilises strchr()
sinon dans ton cas, je te conseille une superbe page de MSDN appelée "String Manipulation Routines". Si t'as la librairie, je te conseille d'aller voir, ya meme des exemples.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 21 août 2003 à 23:59
Sur cette ligne:
strcat(newbuf,"-copie.jpg\0");
Pourquoi tu rajoutes un zéro final à une chaine qui en posséde déjà un ? strcat() s'arrête de toute façon au premier zéro final rencontré et si ce n'était pas le cas ton code ferait un buffer overflow.