bonjour,

je veux récupérer une chaine en la composant en plusieurs sous chaine séparé par des espaces.
voici ma chaine:
0 NODE_98_length_11049_cov 8 75 channel_109_seq10 7637 7703 - 5982

j'ai fait un sscanf:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 pr=malloc(25*sizeof(ligne)); //enregistrement
   pr->num =0;
   pr->sid = malloc(75 * sizeof(char));
   pr->sposin = 0;
   pr->sposend = 0;
   pr->qid = malloc(75 * sizeof(char));
   pr->qposin = 0;
   pr->qposend = 0;
   pr->strand = malloc(70 * sizeof(char)); // pour le "-"
   pr->score = 0;
n = sscanf(chaine,"%d,%[^ ],%d,%d,%[^ ],%d,%d,%[^ ],%d",&pr->num,pr->sid,&pr->sposin,&pr->sposend,pr->qid,&pr->qposin,&pr->qposend,pr->strand,&pr->score);
printf("N= %d\n",n);
mais n est toujours égale à 1.

Merci pour votre aide