Bonjour à tous;

Je souhaiterais récupérer des informations contenus dans une chaîne de caractères en c

Code : Sélectionner tout - Visualiser dans une fenêtre à part
char *chaine = "REQ1|55|25|20080717|15:00:52|TRACE1|20080719|";
Je me suis penché vers un sscanf pour récupérer toutes mes infos seulement vu que chaque donnée est séparée par un pipe c'est un peu difficile enfin pour moi en tout cas d'où ma présence sur ce forum.

Je souhaiterais savoir si quelqu'un connait le moyen de récupérer que les données entre les pipes (|donnees|)


Typiquement dans mon cas par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
char *donnee_1, *donnee_2,*donnee_3,*donnee_4,*donnee_5;
int val_1, val_2;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
sscanf(chaine, "%s %d %d %s %s %s %s", donnee_1,&val_1,&val_2,donnee_2,donnee_3,donnee_4,donnee_5);
au final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
*donnee_1 = "REQ1";
*donnee_2 = "20080717";
*donnee_3 = "15:00:52";
*donnee_4 = "TRACE1";
*donnee_5 = "20080719";
 
val_1 = 55;
val_2 = 25;
Merci à tous