infodaoudi
Messages postés117Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention30 mars 2012
-
20 févr. 2007 à 16:44
simaxe25
Messages postés13Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention16 juillet 2008
-
28 nov. 2007 à 02:48
Bonjour,
Quelqu'un a une idée pour convertir un entier (int) en caractère de manière à pouvoir le concaténer à une chaîne de caractère via la fonction strcat() ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 févr. 2007 à 17:18
ouh laaa..... il y a du travail !!!
tu alloc des pointeurs, ensuite tu les déplaces vers des constantes, etc etc...
Il ne faut pas modifier où pointent ces pointeurs sinon tu écrirais nimporte où en mémoire et aussi impossible de désallouer.
char *c = fichdat1[0]; // PAR EXEMPLE
avec 'c' je peux me ballader dans les 50 octets de la zone pointée par fichdat[0] mais surtout pas toucher à fichdat[0].
strcpy(fichdat[0], "youpi bravo ");
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 févr. 2007 à 17:56
fichdat1[i] ="region";
Je t'ai dit qu'on ne déplace pas l'adresse d'un pointeur alloué !!!
La constant "region" aura une adresse dans ton processus, impensable que pointeur y soit placé.
cs_vicenzo
Messages postés178Date d'inscriptionmardi 16 août 2005StatutMembreDernière intervention25 août 20101 21 févr. 2007 à 19:47
BruNews,
char *c = tachaine;
while(*c) c++; // POINTE FIN DE CHAINE
itoa(tonInt, c, 10);
Et si après le "while(*c) c++", tu te retourve à la fin de ton tableau ou de la mémoire allouée... ==> buffer overflow ou même plantage possible lors du free() si c'est de la mémoire allouée.....
Pas très sur comme technique !