John_Doe_88
Messages postés606Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention13 décembre 2006
-
16 nov. 2004 à 16:16
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
17 nov. 2004 à 17:27
Salut,
En fait je cherche à faire une toute petite appli en C qui lit un fichier .sol (sorte de cookie généré par flash). Voila mon code :
char c;
int i = 0;
FILE *f; if ((f fopen("C:\\tmp_import.sol", "rb")) NULL)
{
printf("Impossible d'ouvrir le fichier données en lecture\n");
exit(1);
}
while ((c = fgetc(f)) != EOF) {
i++;
printf("%i\t%c\n", i, c);
}
Le fichier .sol est presque un fichier texte : je l'ouvre avec le bloc-notes et presque tous les caractères passent.
A l'execution rien ne se passe. Apparemment le probleme vient du fgetc parce que je n'ai pas de message d'erreur du fopen.
Qqun aurait il une solution a proposer ?
Merci pour vos réponses.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 16 nov. 2004 à 21:33
scanf("%80s", nom );
printf("\n---analyse du fichier---\n");
fichier = fopen( nom , "r" ) ;
if ( ! fichier ){
printf("\n---erreur d'ouverture de fichier---\n");
exit(1);
}
while(1){
fscanf(fichier, "%c", &fich[i]);
i++;
if (feof(fichier)) break;
}
printf("\n---Fin du fichier---\n");
tfile=i;
if (fclose(fichier)) {
printf("\n---erreur de fermeture de fichier---\n");
exit(1);
}
si c'est un fichier en mode texte alors autant tout faire en texte...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 nov. 2004 à 14:40
coucou747 > le probleme c'est comme beaucoup, tu crois que feof à une utilité dans ce cas, et bien ca sert à rien
ca permet juste de savoir si on est en fin de fichier, utile quand le flux est en erreur et qu'on veut savoir pourquoi
Because the EOF value returned by many input functions may indicate either the End-Of-File or an error, this function should be called to ensure the End Of File has been reached.