Bonjour, j'ai un soucis que je ne comprend pas avec strtok.
Je souhaite séparer une chaine à chaque caractère virgule ",", jusque là pas de problème, strtok fonctionne bien.
Mais quand je le mets dans une boucle while, il ne me garde que la première sous chaine.
Le résultat de sortie devrait être :
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 #include <stdio.h> #include <string.h> #include <stdlib.h> int main () { char data[]="var1,var2"; int i =0; while (i<10) { char * result; result = strtok(data,","); while (result != NULL) { printf("result : %s \n", result); result = strtok(NULL, ","); } i++; } return 0; }
var1
var2
var1
var2
Mais non, j’obtiens ceci :
La 1ere fois mon code fonctionne bien, il m'affiche bien var1 et var2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 result : var1 result : var2 result : var1 result : var1 result : var1 result : var1 result : var1 result : var1 result : var1 result : var1 result : var1
Mais après ça part en cacahuète, pourquoi ?
Partager