Ah et oui: si par contre ma méthode ressemble à ça:
void intToChaine(int n){
char* chaine;
sprintf(chaine,"%i",n);
}
Ca marche. Un truc m'échappe.
Trout are freshwater fish and have under water weapons.
Trout are very valuable and immensely powerful.
Keep away from the trout.
Why should it mean that the fish in the sea are all unable to sing? Fish fish fish fish fish.
I wish that I could get my hands on a dozen fish!
Ça ne marche que par hasard. Ton pointeur n'est pas initialisé, tu n'as pas le droit de faire ça. sprintf a besoin d'un endroit de mémoire où il enregistre son résultat, tu ne peux pas lui donner un pointeur qui ne pointe nulle part.
char chaine[]; sans précision d'une taille n'est pas valide non plus à l'endroit où tu l'as utilisé, d'ailleurs.
Et non, char * et char [], ce n'est pas toujours la même chose. Dans certains contextes oui, dans d'autres c'est très différent.
Sally Le 08/01/2009 à 22:22 règle fondamentale du C/C++ : ce n'est pas parce qu'un programme marche qu'il est correct !

« Le bonheur, c'est une carte de bibliothèque ! » —
The gostak distims the doshes.Membrane fondatrice de la confrérie des
artistes flous.
L'univers est-il un
dodécaèdre de Poincaré ?
(``
·\ powaaaaaaaaa ! #love#
Bah, c'est du C++ parfaitement valide (enfin, std::sprintf avec #include <cstdio> serait plus propre, mais bon).
est-ce que j'ai dit que ct pas valide?
c juste que je trouve dommage de pas utiliser les flux qui prtt bcp plus simple/safe
Uther Le 09/01/2009 à 19:14 On parles de C++ pas de Qt