Bonjour
J'ai fait une petite fonction "petite(int *longueur,char *retour)" qui est appel�e par un fonction principale "principale(void)", or petite initialise correctement retour mais principal me dit que retour est nulle, savez vous comment resoudre ce probl�me?
merci d'avance
Ca m'incrit � l'�cran,
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 void petite(int *longueur,char *retour) { *longueur = 6; retour = new char[*longueur+1]; if (retour) { memset(retour,0,*longueur); strcpy(retour,"petite"); } // à ce stade retour="petite\0" et son adresse mémoire est par exemple 0x003b486e } void principale(void) { char *tmp_retour=NULL; int tmp_longueur=0; petite(&tmp_longueur,tmp_retour); if (longueur>0) { printf("longueur:%d\n",longueur); if (tmp_retour) { printf("%s\n",tmp_retour); } else printf("tmp_retour est nulle\n"); } else printf("longueur est negative ou nulle\n"); }
longueur:6
tmp_retour est nulle
Partager