Extraire une chaine en C

Fermé
Alexandra - 24 juil. 2002 à 10:42
 Alexandra - 24 juil. 2002 à 14:53
Bonjour,
J'ai un fichier texte de ce type :
R=2506;2506;2506;2506;2506;2506;2506;2523;2523;2506;
J'aimerai savoir comment faire pour extraire ce qu'il y a entre les points virgule.
C'est à dire pouvoir stocker 2506 dans une variable et ainsi de suite.
Merci.

3 réponses

voici un petit exemple trés sympas qui repondra parfaitement à ton problème:

char *strtok(char *s, const char *delim);
Cette fonction découpe une chaîne en sous-chaînes en focntion d'un ensemble de délimiteurs. La fonctin est initialiser en passant la chaîne à décomposer en premier paramètre, elle retourne alors le premier champ. Pour récuperer les autres champs il faut appeler strtok() avec NULL comme premier paramètre. Quand il n'y a plus de champs dans la chaîne la fonction retourne NULL.

Exemple :

#include

int main(int argc, char*argv[]){
char chaine[]="GET http://machine/fichier HTTP/1.0";
char *champ;

champ = strtok(chaine, "\t ");
while(champ!=NULL){
printf("%s\n",champ);
champ = strtok(NULL, "\t ");
}
}
5
Merci beaucoup Ben
Mon boulot a avancé
0