IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

problème dans le fichier


Sujet :

C

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Par défaut problème dans le fichier
    bonjour,
    j'ai des mots dans un fichier et je veux stocker ces mots dans un tableau mais le programme ne stocke que le dernier mot.
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    int main(int argc, char *argv[])
    {
        FILE* fichier=NULL;
        FILE* fichier2=NULL;
        fichier= fopen("extractfreq.dat","r");
        fichier2= fopen("F1_2","r");
     
        FILE* fichier1 = NULL;
     
        fichier1 = fopen("testresultat.dat", "w");
     
        int j=0;int i=0 ;
     
        int u=0;short int longseq;
        char* tablo[500];
     
        char sequence[TAILLE_MAX];
        while (fgets(sequence, TAILLE_MAX, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
        {
            longseq=strlen(sequence); printf("\nla longeur de la sequence est = %d \n\n",longseq);
     
            if (longseq>1){
     
                printf("\n%s\n", sequence);// On affiche la chaîne qu'on vient de lire
     
                tablo[u]=sequence;
                u++;
            }
        }
    for(i=1;i<u+1;i++){ printf("\n%s",tablo[i]);}
     
        return 0;
    }
    est-ce que vous avez une idée? merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ton problème que tu ne fais que modifier le contenu de ton tableau char sequence[TAILLE_MAX];, tableau qui a une adresse fixe.
    Donc à chaque itération, tu fais pointer chaque tablo[u] vers ce même tableau.

    Il te faut effectuer une allocation + copie de son contenu.

    Remarques :
    • Pense à vérifier l'ouverture de tes fichiers.
    • Ainsi qu'à les fermer avec fclose().
    • Que se passe-t-il si le fichier contient plus de 500 mots ?
    • Le dernier parcours serait plutôt for(i=0;i<u;i++)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème dans mon fichier ant avec hibernateTool
    Par dialac dans le forum Hibernate
    Réponses: 0
    Dernier message: 19/01/2010, 18h57
  2. Réponses: 1
    Dernier message: 08/12/2009, 11h23
  3. Wincvs : Problème dans le fichier CVS/Repository
    Par wincvsic dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 07/08/2009, 15h57
  4. Problèmes dans un fichier .h
    Par Jordinateur dans le forum C
    Réponses: 10
    Dernier message: 28/02/2007, 12h37
  5. [Hibernate] Problème dans le fichier mapping
    Par sabour_mounir dans le forum Hibernate
    Réponses: 3
    Dernier message: 15/05/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo