Problème de fin de boucle do while infinie
athos24
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
athos24 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
athos24 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
le but est de récupérer la taille k de la premiere ligne non nulle et qui n'est pas un commentaire pour l'affecter par la suite à une matrice. Ca marche très bien sauf dans le cas ou le fichier lu n'est composé que d'un commentaire je me retrouve alors dans une boucle infinie alors que la condition current_char !=EOF de mon while devrait me permettre d'en sortir voici le bout de mon code concerné
signed char current_char;
int k=0;
/* Size of the first line */
do{
while (( current_char = fgetc (file)) != '\n')
{
switch (current_char)
{
case ' ':
break;
case '\t':
break;
case '#': /* Comment */
while (fgetc (file) != '\n') /* End of comment line */
continue;
break;
default:
k=k+1;
}
}
}while((k == 0) && (current_char != EOF)); /* to find the fist line not empty */
Merci d'avance
le but est de récupérer la taille k de la premiere ligne non nulle et qui n'est pas un commentaire pour l'affecter par la suite à une matrice. Ca marche très bien sauf dans le cas ou le fichier lu n'est composé que d'un commentaire je me retrouve alors dans une boucle infinie alors que la condition current_char !=EOF de mon while devrait me permettre d'en sortir voici le bout de mon code concerné
signed char current_char;
int k=0;
/* Size of the first line */
do{
while (( current_char = fgetc (file)) != '\n')
{
switch (current_char)
{
case ' ':
break;
case '\t':
break;
case '#': /* Comment */
while (fgetc (file) != '\n') /* End of comment line */
continue;
break;
default:
k=k+1;
}
}
}while((k == 0) && (current_char != EOF)); /* to find the fist line not empty */
Merci d'avance
1 réponse
-
probleme resolu voila le code si ca peut aider quelqu'un:
int current_char;
char **grid=NULL;
int k=0;
/* Size of the first line */
do{
while (( current_char = fgetc (file)) != '\n' && current_char != EOF)
{
switch (current_char)
{
case ' ':
break;
case '\t':
break;
case '#': /* Comment */
while (fgetc (file) != '\n') /* End of comment line */
continue;
break;
default:
k=k+1;
}
}
}while( (current_char != EOF) && (k == 0) );