bonjour,
Je tente désespérément de lire un fichier texte dont les champs sont séparés par ':'.
Le 2eme champs est variable et comporte un ou plusieurs espaces.
Voici mon code et le format du fichier, pouvez vous m'aider ? D'avance merci.
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
26
27
28
29
30
31
32
33
34
35 #include <stdio.h> #include <string.h> /*file format nom1:PATRICK DUCHMOL:S:2:4:3:30:0 nom2:HERVE DUCHMOL DE LA POTEE::1:9:6:20:9 */ int main() { FILE * fd = NULL ; char flag [5]; char nom[50]; char s[2] ; int st1 ; int st2 ; int st3 ; int po ; int ti ; if((fd=fopen("./file.txt", "r"))==NULL) { printf("Error\n") ; } while(!feof(fd)) { if(fscanf(fd, "%s:%[^:]:%s:%d:%d:%d:%d:%d", flag, nom, s, &st1, &st2, &st3, &po, &ti) != 8) printf("%s\n", nom) ; else fprintf(stderr, "Format error.\n") ; } fclose(fd) ; }





Répondre avec citation




il faut tester 


) + de la fin de fichier + de la longueur des champs c'est 1 peu l'enfer

Partager