begin process at 2012 05 29 16:48:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

prob tableau de pointeurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

prob tableau de pointeurs

lundi 7 février 2005 à 01:22:08 | prob tableau de pointeurs

fred111111

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);
}


lundi 7 février 2005 à 09:04:10 | Re : prob tableau de pointeurs

ymca2003

Faudrait vérifier si 'i' ne dépasse pas 'n' par hazard (seule cause que je vois apparement).
lundi 7 février 2005 à 11:08:50 | Re : prob tableau de pointeurs

bayeto

Membre Club
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
lundi 7 février 2005 à 11:25:46 | Re : prob tableau de pointeurs

ymca2003

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
}


Cette discussion est classée dans : erreur, mot, char, pstream, feof


Répondre à ce message

Sujets en rapport avec ce message

Fonction erreur [ par logant83 ] Bonsoir, voila alors j'essay de faire retourner a ma fonction 'char *splitnick(char *mot)"' une valeur char (logique je sais) mais voila dés que je co Pendu en C [ par the_kaiser ] Voila je suis débutant en C (en programmation tous cours d'ailleurs puisque le C est le premier language que je teste) et je tente de faire un pendu. Problème de char et dans une struct [ par yggy ] dans ce code : il me dit une erreur après le char dbmdp[7][5] je vois pas mon erreur!ai-je fait quelque chose de faux?struct ServerTest1{   char dbmdp cast c++ [ par mnaulet ] Bonjour,Est-il possible de supprimer les erreurs du compilateur sur les cast en c++.J'ai l'erreur suivante lors de l'appel à la fonction suivante :get char** vers const char** [ par vecchio56 ] J'ai une erreur assez bizarre, sous VC++ 7.1. Ca compile avec l'option /TC (compilo C), mais pas /TP (compilo C++): typedef struct _A {   int nElemen erreur a l'execution [ par vangeurmasker ] J'ai créé un projet sous VC++ 6 pour faire une calcullette qui annalyse une chaine entrée. Lors de la compilation je n'ai aucune erreur. C'est a l'exe Lecture d'un fichier et probleme divers [ par lacharlottinne ] Bonjour , je vous explique vite fait ce que je dois faire : J'ai un fichier texte, dans le quel on doit trier des mots .. la premier étape est => o erreur sur l'entré d'1 char [ par ddd666 ] salut, voila je demande de rentré a lutilisateur un nopm ki é une chaine de caractère char, jaimeré que si celui-ci tape un nombre ca lui redemande de Probleme typedef struct [ par shenron ] #include #include #include /*Definition de la structure*/typedef struct{ char login[11]; char mdp[11];}strlogin;/*Declaration de fonctions*/void ajo ça concerne la lecture et l'ecriture sur un fichier et ... [ par wfish ] voila mon pb :j'ai fais un ptit prog de traitement de fichier. il sert à mettre certaines infos prises dans un fichier et les mettre dans un autre !!1


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales