Lecture fichier .sol

Résolu
John_Doe_88 Messages postés 606 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 13 décembre 2006 - 16 nov. 2004 à 16:16
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 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.

John Doe

9 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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...
3
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 nov. 2004 à 23:01
coucou747 >
if (feof(fichier)) break; en s'en fou de ca, c'est EOF qui indique une erreur

John_Doe_88 > tu connais pas la structure du fichier ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 12:03
eh ça dépends de comment tu le fais !!!
moi j'ai mis while (1)
donc j'ai besoin d'un bloquant !!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 12:07
eh ça dépends de comment tu le fais !!!
moi j'ai mis while (1)
donc j'ai besoin d'un bloquant !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 13:03
eh ça dépends de comment tu le fais !!!
moi j'ai mis while (1)
donc j'ai besoin d'un bloquant !!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 13:03
eh ça dépends de comment tu le fais !!!
moi j'ai mis while (1)
donc j'ai besoin d'un bloquant !!!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
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.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 17:01
...
sans ça je reste dans une boucle infinit...
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 nov. 2004 à 17:27
voila, il suffit juste de verifier le code retour de ta fonction de lecture (ca peut etre EOF en cas d'erreur par exemple)
0
Rejoignez-nous