ben voila , j'ai un petit souci pour un prog que je dois réaliser pour
un cours. Il s'agit en fait d'un pendu, avec un dictionnaire contenu
dans un fichier texte. Aucune erreur de compilation mais bien une
erreur dans l'execution. En utilisant le debugger, je m'appercois que
c'est lorsque je vais rechercher les lignes dans le fichier texte et
les copies dans un tableau de poinbteur que ca bug. Pourriez vous
m'aider a trouver l'erreur ?
voici la fonction en question
j'ai mis en rouge la ou le debugger me dis que ca ne vas pas (acces
violation), le plus bizarre c que c vraiment en fin de boucle, lorsque
qu'il va chercher le dernier mot dans le fichier)
Merci bcp pr votre aide
char** creer_dico (int*n)
{
int i=0;
char **mot;
char ligne_fch[80];
FILE * pstream;
*n=0;
pstream=fopen("..\\dico.txt","rt");
do
{
fgets(ligne_fch,80,pstream);
if (!(feof(pstream)||ferror(pstream)))
*n=*n+1;
}
while (!(feof(pstream)||ferror(pstream)));
if (!feof(pstream))
printf("Erreur de lecture du fichier...\n");
mot=(char**)malloc((*n)*sizeof(char*));
rewind(pstream);
printf("%d",*n);
do
{
fgets(ligne_fch,80,pstream);
if (!(feof(pstream)||ferror(pstream)))
mot[i]=(char*)malloc((strlen(ligne_fch)+1)*sizeof(char));
if (mot[i]==NULL) printf ("erreur d'allocation");
strcpy(mot[i],ligne_fch);
//c'est ici le probleme je pense
//printf("%s",mot[i]);
i++;
}
while (!(feof(pstream)||ferror(pstream)));
printf("\n");
if (!feof(pstream))
printf("Erreur de lecture du fichier...\n");
return (mot);
}