Problème avec feof

Problème avec feof - C++ - Programmation

Marsh Posté le 17-05-2003 à 18:04:12    

Je suis sous Windows 2000 et si je lance ce programme :
 
#include <stdio.h>
 
void main (void)
{
   FILE * NomLog;
   NomLog = fopen ("Fic", "r" );
   printf ("%d", feof(NomLog));
   fclose (NomLog);
}
 
feof retourne 32 que le fichier Fic soit vide ou non
 
Une idée ?  :(

Reply

Marsh Posté le 17-05-2003 à 18:04:12   

Reply

Marsh Posté le 17-05-2003 à 18:56:16    

et ton fichier il existe?

Reply

Marsh Posté le 17-05-2003 à 22:29:58    

Oui, bien sûr. J'ai simplement enregistré un fichier texte sans extension sous un éditeur hexa.

Reply

Marsh Posté le 18-05-2003 à 11:42:37    

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
 
c'est comme pour les retraites ? =)

Reply

Marsh Posté le 18-05-2003 à 13:34:29    

T'es pas le premier à me dire ça, je vais finir par l'enlever cette signature :lol:
 
Celà dit, des gens se servent de feof, pourquoi pas moi ? :cry:
 
J'ai lu dans l'aide de TurboC :

Citation :

Portability :
feof is available on UNIX systems and is defined in ANSI C.


feof ne fonctionnerait que pour UNIX ?  :??:

Reply

Marsh Posté le 18-05-2003 à 14:14:06    

bah non, c'est defini en ansi c
 
A+

Reply

Marsh Posté le 18-05-2003 à 16:53:19    

Citation :

Oui, bien sûr. J'ai simplement enregistré un fichier texte sans extension sous un éditeur hexa.

 
 
Et tu l'as enregistré ou ? Dans le repertoire courant surement ... et tu tests en double cliquant sur ton exe ... eh ben il va chercher dans le PATH, à savoir C:\WINDOWS, et autre ... mais pas dans ton rep courant (a moins que tu le lance depuis une console). Donc il trouve pas le fichier.
Pour etre sur qu'il ouvre le fichier, ce serait tellement simple de tester ce que revoie fopen !


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 20-05-2003 à 00:10:05    

Tant que l'on n'a pas fait avancer le pointeur dans le fichier, il est à zéro (première position). Que le fichier soit vide ou non, on n'a pas encore atteint la fin de fichier. Pour tester cette condition, il faut lire au moins un caractère.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed