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 :

Charger un ficher Texte dans un tableau


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 135
    Points : 44
    Points
    44
    Par défaut Charger un ficher Texte dans un tableau
    Bonjour,

    j'ai un tableau multidimensionelle assez peu pratique a lire et ecrire et pour faciliter tout sa j'aimerais bien le charger a partir d'un fichier texte :
    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
    char Tab[10][20]={{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '©', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '©', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', '©', '©', ' ', ' ', '©', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Û', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Û', ' ', ' ', 'Û', 'Û', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
     
    				{'Û', 'Û', 'Û', 'Û', 'Û', 'Û', 'Û', 'Û', ' ', 'Û', 'Û', 'Û', 'Û', ' ', ' ', ' ', ' ', ' ', ' ', ' '}};

    je veux donc essayer cela en ayant le tableau qui se remplis avec le fichier texte :
    donc je procéde comme ceci :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FILE*   fp = NULL;
     
      fp = fopen(tableau.txt,"rw");
     
     while( !feof(fp) )
        {
     
    //affectation des caracteres du fichier texte dans le tableau
     
        }
     
     if(fp) fclose(fp);
    je ne vois pas comment copier le contenu du fichier texte dans le tableau

    Voila Merci de m'aider
    Bruno

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: Charger un ficher Texte dans un tableau
    Citation Envoyé par bonjour69
    je veux donc essayer cela en ayant le tableau qui se remplis avec le fichier texte :
    donc je procéde comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FILE*   fp = NULL;
     
      fp = fopen(tableau.txt,"rw");
     
     while( !feof(fp) )
        {
     
    //affectation des caracteres du fichier texte dans le tableau
     
        }
     
     if(fp) fclose(fp);
    C'est mal parti. feof() ne fait pas ce que tu crois. Il faut utiliser le code retour de la fonction de lecture. (Ici, probablement fgetc())
    je ne vois pas comment copier le contenu du fichier texte dans le tableau
    tableau, indices, incrémentation... Fait de ton mieux. Essaye avec une dimension, puis 2.

  3. #3
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut Re: Charger un ficher Texte dans un tableau
    Citation Envoyé par bonjour69
    je veux donc essayer cela en ayant le tableau qui se remplis avec le fichier texte :
    donc je procéde comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FILE*   fp = NULL;
     
      fp = fopen(tableau.txt,"rw");
     
     while( !feof(fp) )
        {
     
    //affectation des caracteres du fichier texte dans le tableau
     
        }
     
     if(fp) fclose(fp);
    Il faut tester la valeur de fp avant le fclose, juste après le fopen en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    fp = fopen...
    if(fp == NULL) {
        fprintf(stderr,("Erreur ouverture fichier\n");
        exit(-1);
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 135
    Points : 44
    Points
    44
    Par défaut mercii
    Bonjour,

    je vous remercie tout marche ( en effet feof c'étais pas ce que je croyais )
    je met ici le code pour ceux que sa interesse
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FILE*fp;
    	  fp = fopen ("map.txt","r");
    	  for ( int i =0 ; i < 5 ; i++ )
    				fscanf(fp,"%d",&Map[i]);
             fclose( fp);

    Cordialement Bruno

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: mercii
    Citation Envoyé par bonjour69
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FILE*fp;
    	  fp = fopen ("map.txt","r");
    	  for ( int i =0 ; i < 5 ; i++ )
    				fscanf(fp,"%d",&Map[i]);
             fclose( fp);
    • Il manque un test de fp après le fopen(). En cas d'echec (fichier absent, vérrouillé, inaccessible) fopen() retourne NULL...
    • Il manque un test de fin de lecture. Comme déjà signalé, il faut tester le code retourné par fscanf() (lire la doc). De plus, ce test permet de savoir si la conversion s'est bien passée.

Discussions similaires

  1. remplacer du texte dans un tableau généré
    Par jcaruana dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2006, 16h36
  2. [Tableaux] Stocker un fichier texte dans un tableau
    Par clairette59 dans le forum Langage
    Réponses: 13
    Dernier message: 27/01/2006, 23h48
  3. [Débutant]Changer du text dans un tableau
    Par Azimel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/09/2005, 18h38
  4. Centrer des images et du texte dans un tableau
    Par hstlaurent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 30/08/2005, 16h34
  5. Réponses: 5
    Dernier message: 15/05/2005, 08h51

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