Bug de fonction gettok(); [Résolu]

Signaler
Messages postés
124
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 février 2006
-
Messages postés
124
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 février 2006
-
Salut a tous j'ai fais cette petite fonction on ne peut plus simple mais elle bug et je ne vois pas pourquoi (logique sinon je posterais pas :p)
Donc la voila:

char *gettok(char *temp,int num,char *tok)
{
char *token;
token = strtok(temp,tok);
for (int i = 1;i < num;i++)
{
token = strtok(NULL,tok);
}
if (token) return token;
else return "NoToken";
}

elle marche pour le 1er tok (c'est a dire si num=1) mais a partir du 2eme elle me renvoie "NoToken"
Plz help !!

2 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
SI je peux me permettre, avant de poster, prend au moins 5 min pour chercher sur le net, il y a plein d'explication sur cette fonction.
Mais je dois avouer, je comprend rien a cette fonction de ....
et ce, meme si j'arrive a la faire fonctionner, regarde le code posté sur cppfrance !
http://www.cppfrance.com/code.aspx?ID=10851

De plus, si on pouvait m'expliquer l'importance de strdup avant l'appel a strtok, je suis preneur :) et ca:
pointeur = strtok( NULL, separateur );
Messages postés
124
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 février 2006
2
Lol
merci il me manquais juste le strdup !
mais si tu crois que je n'ai pas pris le temps de chercher avant tu te trompes ! j'y ai au moin passé 30 min :p
++