cs_fred111111
Messages postés2Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention25 mai 2005
-
7 févr. 2005 à 01:22
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
7 févr. 2005 à 11:25
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)
bayeto
Messages postés224Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention18 octobre 2010 7 févr. 2005 à 11:08
en fin de boucle? c'est normal:
fgets(ligne_fch,80,pstream);
if (!(feof(pstream)||ferror(pstream)))
mot[i]=(char*)malloc((strlen(ligne_fch)+1)*sizeof(char));
le dernier mot n'est pas alloué puisque on arrive à la fin du fichier: ca plante.
essaye plutot avec while(!feof(pstream) au lieu de ton do/while
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 7 févr. 2005 à 11:25
Exact, il faudrait au moins des {} pour le bloc du if
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
}