bonjour, je veux lire mon fichier d'input. Dans ce fichier, je saute des lignes. Voici une partie du fichier d'input :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
NBPAR 40 ! numbers of particles
 
! initial conditions
voici mon main

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);
}
et voici ma sortie :

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
normalement, la seconde ligne (== la ligne blanche), j'aurais du avoir un 1 non ?
le man isspace dit :

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').
savez-vous où se trouve la coquille ?
Merci