Pourquoi la valeur change sans intervention?
Salut à tous,
Je rencontre un problème qui m'intrigue.
J'ai une méthode qui renvoie qui produit un tableau de char et le retourne. elle est donc déclarée ainsi :
Code:
char * maMethode();
Je déclare un "char *" pour récupérer le contenu du tableau et l'utiliser. Seulement voilà au sortir de la méthode, tout est bon, le débugger indique bien les bonnes valeurs dans le tableau (une suite de chiffre). Deux lignes plus tard, alors que rien ne touche à ce "char *", le debugger indique que la valeur a changé et à la place j'ai des trucs bizarres. Je ne comprends pas d'où celà vient.
Visiblement, ce changement à une incidence puisque si je déclare en dur, la valeur du "premier" retour, le reste fonctionne normalement. Mais avec la nouvelle valeur, rien ne fonctionne.
Code:
1 2 3 4 5 6 7 8 9 10 11
| char * outText ={'\0'};
outText= maMethode();
int i = 0; //ici la valeur de outText est correcte, composée de chiffre
int comp = a+3; //ici la valeur de outText est devenue ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌHî
while(outText[i]!='\0')
{
// faire des trucs
} |
Si quelqu'un peut m'expliquer ce qui se passe...
Merci