[C]STRTOK,euh..., oun explicazione siouplaite

Fermé
16art - 15 févr. 2002 à 12:20
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 15 févr. 2002 à 20:10
Bonjour tout le monde ...

Je bloque sur une fonction en C : strtok
chuis pas très doué en C en ce qui concerne les chaine de caracteres et les pointeurs

voilà un bout :

char *chaine = "grep -i -l -d / *.* >> result.txt";
char *separateur = "/";
char *cmd[2];

cmd = strtok ( chaine, separateur );

Voilà je que j'obtiens en débuggant .. ( pas de warning ni d'erreur a la compil )
je demandais pas vraimeent ça :

cmd[0] = "grep -i -l -d "
cmd[2] = "grep -i -l -d "
et il me détruit au ssi le "chaine"
chaine = "grep -i -l -d "
cmd[1] = ""

il me fait une "Exception" en débuggant lorsqu'il fait strlen(cmd[1]);

Comment je peux récuperer ce qu'il y a après le "/" dans chaine : " *.* >> result.txt"


Je fais cela dans le but de pouvoir insérer une variable à l'intérieur de chaine ensuite à l'aide de strcat.



Merci

1 réponse

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
15 févr. 2002 à 20:10
D'abord, pourqoi le cmd[2] existe? ton char * cmd[2] n'est pas un tableau de pointeurs sur char? jusqu'a present en C, le dernier elet c'est cmd[2-1] .
De 2 , pourtant ds l'exemple du msdn, ils ont recupere tous les elements qui constituaient la chaine de base.
tafiscobar
0