bonjour, je veux lire mon fichier d'input. Dans ce fichier, je saute des lignes. Voici une partie du fichier d'input :
voici mon main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4NBPAR 40 ! numbers of particles ! initial conditions
et voici ma sortie :
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 #include<stdlib.h> #include<stdio.h> #include<string.h> int str_isspace(const char * s) { /* return 1 if all the char of the string s are some blanck char, 0 otherwise */ while (isspace (*s++)); return !*s; } int main() { FILE * file=fopen("input.txt","r"); if(file==NULL) { printf("erreur\n"); exit(EXIT_FAILURE); } char line[1000]; while(fgets (line, sizeof line, file) != NULL) { printf("line = %s ==> %d\n",line,str_isspace(line)); } return(EXIT_SUCCESS); }
normalement, la seconde ligne (== la ligne blanche), j'aurais du avoir un 1 non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 line = NBPAR 40 ! numbers of particles ==> 0 line = ==> 0 line = ! initial conditions ==> 0
le man isspace dit :
savez-vous où se trouve la coquille ?vérifie si l'on a un caractère blanc, d'espacement. Dans les
localisations "C" et "POSIX" il s'agit de: espace, saut de page
(form-feed, '\f'), saut de ligne (newline, '\n'), retour chariot
(carriage return, '\r'), tabulation horizontale ('\t'), et tabu-
lation verticale ('\v').
Merci
Partager