logant83
Messages postés90Date d'inscriptionlundi 20 février 2006StatutMembreDernière intervention 6 mars 2007
-
1 mai 2006 à 17:09
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
1 mai 2006 à 18:31
Bonsoir, voila alors j'essay de faire retourner a ma fonction 'char *splitnick(char *mot)"' une valeur char (logique je sais) mais voila dés que je compile j'ai le message '[Warning] address of local variable `nick' returned '
Alors voila mon code:
char *splitnick(char *mot)
{
char nick[1000];
int x = 0;
int y = 0;
char autre[1];
while(mot[x] != '\0')
{
autre[y]=mot[x];
if (strcmp(autre,"\") == 0) { strncat(nick, "\\\",2); x++; continue; }
strncat(nick, autre,1);
x++;
}
return nick;
}
Pitchikwow
Messages postés10Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention 1 mai 2006 1 mai 2006 à 17:54
Salut,
Tu essais de retourner un tableau, alors que ta fonction retourne un char*.
Un truc pas très génial. Converti ton tableau en char * ou utilise ça "return &nick[0];"
Tu vas compiler sans problème. La meilleur solution est la suivante.
char *splitnick(char *mot)
{
char nick[1000];
char* chaineARetourner;
//Initialise ma variable à l'adresse de base du tableau
chaineARetourner = &nick[0];
int x = 0;
int y = 0;
char autre[1];
while(mot[x] != '\0')
{
autre[y]=mot[x];
if (strcmp(autre,"\") == 0) { strncat(nick, "\\\",2); x++; continue; }
strncat(nick, autre,1);
x++;
}
return chaineARetourner ;
}
Voila a+.
logant83
Messages postés90Date d'inscriptionlundi 20 février 2006StatutMembreDernière intervention 6 mars 2007 1 mai 2006 à 18:14
jvien juste de trouver la solution, le seul probléme que j'avai c'est que javais déclaré ma variable a retourner dans la fonction donc ct une valeur local mais en la déclarant a l'extérieur de la fonction , j'en est fait une valeur global, donc plus aucun probléme a la compilation.
merci quand meme.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 1 mai 2006 à 18:28
Bah char* et tableau de caractère c'est tout pareil
Comme le disait yoyo
déclarer ta variable en static oui pourquoi pas mais rajouter un argument c'est beaucoup mieux