#1 Le 26/03/2008, à 00:12
- Elessor
C : Impossible de lire un fichier (core dumped)
Bonsoir
J'explique succintement mon problème avant de montrer le code, j'ai un dictionnaire de mots (fichier contenant un mot par ligne), et j'essaie de l'ouvrir et de lire le nombre de mot (donc de lignes) avec une fonction écrite en C.
extrait du main.c :
int main()
{
FILE *dictionnaire = NULL;
char lettreEntre = 0;
char *motSecret = NULL, *motTrouve = NULL;
int tailleMot = 6, nombreMot = 0, compteur = 10, i = 0;
dictionnaire = fopen("dictionnaire","r");
if (dictionnaire == NULL)
{
printf("Le dictionnaire de mot n'a pas pu être chargé");
exit(0);
}
nombreMot = compteMot(dictionnaire);
Fonction qui compte le nombre de mots : le fichier ayant été ouvert avec succès juste avant.
int compteMot(FILE *dict)
{
char caractereActuel = 0;
int nombreMot = 0;
while (caractereActuel != EOF)
{
caractereActuel = fgetc(dict);
if (caractereActuel == '\n')
{
nombreMot ++;
}
}
return nombreMot;
}
Voilà voilà, tout va bien à la compilation, et à l'execution, le programme plante à l'appel de la fonction fgetc et me renvoit une vilaine "erreur de segmentation (core dumped)"
Je desespère
J'ai essayé toutes les fonctions de lecture dans un fichier (fgets, fseek, etc) rien à faire...
Merci d'avance pour l'aide que pourront m'apporter les quelques connaisseurs de C qui passent par là
Bonne soirée
Hors ligne
#2 Le 26/03/2008, à 00:55
- telliam
Re : C : Impossible de lire un fichier (core dumped)
as tu essayé de l'ouvrir en mode binaire?
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#3 Le 26/03/2008, à 07:22
- abetsic
Re : C : Impossible de lire un fichier (core dumped)
Bonjour,
dans ma page de man de fgetc, il est marqué que cette fonction renvoie un int et non pas un char. Regardes si ça vient de là.
Hors ligne
#4 Le 26/03/2008, à 10:18
- telliam
Re : C : Impossible de lire un fichier (core dumped)
bien vu abetsic, ca doit venir de là, par contre il devrait y avoir un warning à la compilation.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#5 Le 26/03/2008, à 13:02
- Elessor
Re : C : Impossible de lire un fichier (core dumped)
Merci beaucoup
Ca fonctionne enfin. Bizarrement il n'y avait pas de warning à la compilation...
Le principal c'est que ça marche
Merci encore, et bonne journée.
Hors ligne