pepsidrinker
Messages postés151Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention15 avril 2009 19 janv. 2007 à 20:26
Premierement, ton pointeur de 'char' ne pointe vers rien, et en plus, il 'pique', car il n'est pas initialisé, donc, pointe vers une valeur inconnue.
Ceci dit,il faudrait créer un buffer (mémoire tampon) pour ton char*.
La syntaxe est :
---------
1- char buffer[255] ; (static)
OU
2- char* buffer = new char[255]; (dynamic)
--------
pour une valeur de 254 caractère max. (le dernier étant caract.de fin de string).
pour ton code,voici la version qui marche:
char c [255];
sprintf(c , "%s'","toto");
***Note***
Le "%s" est un indicateur de format qui doit etre inclus a sprintf.
"%s" signifie 'STRING'.
Il y en a d'autre comme "%c" qui signifie 'CHAR', ou "%d" qui veut dire décimal.
jguillemette
Messages postés31Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention 1 octobre 2010 22 janv. 2007 à 10:05
merci pour ces réponses
en fait j'avais un doute car lorsque j'ai executé ce petit programme test, il n'y avait pas d'erreur! je faisais un printf() et ça m'affichais la valeur attendue!
ce n'est qu'en faisant un test un peu plus complet que j'ai enfin eu un débordement de mémoire