probleme de fgetc - C - Programmation
Marsh Posté le 18-01-2008 à 15:53:30
pour info voici le code complet, merci d'avance
Code :
|
Marsh Posté le 18-01-2008 à 16:02:28
Comment est écrit le fichier niveau ?
Question subsidiaire : pourquoi tu fais démarrer tes indices à 1 au lieu de 0 ?
Marsh Posté le 18-01-2008 à 16:08:35
le fichier niveau est comme ca :
Mmmmm mmm mmm mmmm mmm mmm m mm mmm mm mmm mmmmmmmmmm mmmmmmmmmm mmmmmmmmmm mmmmmmmmmm oooo
pour les indices c'est pour se reperer plus facilement
Marsh Posté le 18-01-2008 à 16:51:34
je comprend pas pourquoi à partir du 13 ème caractere fgetc renvoie -1 alors que dans le fichier il n'y a pas de problemes
Marsh Posté le 18-01-2008 à 17:02:25
fichtre ! je fermais mon fichier à la fin du premier for, normal qu'il y arrive pas
Marsh Posté le 18-01-2008 à 17:38:37
J'avais pas vu non plus.
Moralité : une bonne indentation permet de repérer plus facilement ce genre de bévue.
Marsh Posté le 19-01-2008 à 08:04:43
Puis fgetc renvoie un int, pas un char. Parce que tu peux très bien avoir un (char)-1 (caractère de code ascii 0x255, je crois que c'est un y avec deux points dessus en iso8859-1) dans ton fichier.
Marsh Posté le 18-01-2008 à 15:33:24
bonjour.
voici ma fonction. je lui demande d'aller lire des caracteres dans un fichier.
ici i et j varient de 1 à 12, la fonction est sensée me lire 144 caractères. mais elle s'arrete à 24
voici ce que me disent les printf("%d %d ",i,j);
printf("%c",coordonnees[i][j]);:
lire niveau 1 1 M1 2 m1 3 m1 4 m1 5 m1 6 1 7 m1 8 m1 9 m1 10 1 11 m1 12 m2 1 �2 2 �2 3 �2 4 �2 5 �2 6 �2 7 �2 8 �2 9 �2 10 �2 11 �2 12 �
à partir de i = 2 le caractere n'est pas reconnu (alors que dans le fichier tout est normal)
et i = 3 tout plante
je suppose que le fget est à l'origine de cela quand je lance le programme:
Message édité par anisometropie le 18-01-2008 à 15:52:10
---------------
I didn't mean you're useless. I only meant you never do anything of any use.