begin process at 2012 05 28 07:53:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

charger un tableau depuis un fichier text


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

charger un tableau depuis un fichier text

dimanche 28 février 2010 à 22:24:44 | charger un tableau depuis un fichier text

hdinn

Salut a tous,bin.... je voulais charger un tableau depuis les valeur d'un fichier text.
mon fichier txt contient comme ci:
0 1 1 0
1 0 1 0
1 1 0 1
0 0 1 1

et je veux faire à l'affichage comme ci

zero un un zero
un zero ..... etc

Merciii
lundi 1 mars 2010 à 00:26:11 | Re : charger un tableau depuis un fichier text

shorzy


Tu utilises quelle Library.

if(MyStream[n] == '0')
cout << "Zéro ";
else if(...

Au lieu de cout tu peux utiliser n'importe quel Flux !!!


++
lundi 1 mars 2010 à 23:37:47 | Re : charger un tableau depuis un fichier text

besilent

Si j'ai bien compris, tu veux mettre dans un tableau le contenu d'un fichier.

J'ai fais des fonctions pour ça.
En gros, il faut d'abord récupérer la taille de ton fichier texte.
Ceci pour allouer la bonne taille au tableau que tu va déclarer et allouer pour sauvegarder ton fichier.

Pour ça utilise cette fonction

Code C/C++ :
int LongueurFichier( char *CheminFichier )
{
    FILE *Fichier = fopen(CheminFichier,"r");
    int Longueur=0;
    char c;

    if(Fichier != NULL)
      {
               while(fscanf(Fichier,"%c",&c) != EOF)
                    {
                        Longueur++;
                    }
      }

    fclose(Fichier);
    return Longueur;
}


Exemple
Code C/C++ :
int Longueur = LongueurFichier("c:\\rep1\\rep2\\fichier.txt");


Une fois que tu connais la taille de ton fichier, tu peux faire l'allocation pour ton tableau.

Code C/C++ :
void MemoriserFichier( char *CheminFichier, char *Chaine )
{
    FILE *Fichier = fopen(CheminFichier,"r");

    if( Fichier != NULL && Chaine != NULL )
      {
               int i=0;
               char c;
               while(fscanf(Fichier,"%c",&c) != EOF)
                    {
                        Chaine[i]=c;
                        i++;
                    }
      }

    else perror("\n\n MemoriserFicher ");

    fclose(Fichier);
}


Exemple :
Code C/C++ :
char *tableau = (char *)malloc( Longueur*sizeof(char) );
MemoriserFichier("c:\\rep1\\rep2\\fichier.txt", tableau);


Maintenant ton fichier est sauvegardé dans le tableau 'tableau'.

Comme ton tableau est une chaine de caractères, en récupérant le contenu de ton fichier il a récupérer également les caractères de contrôles tels que '\n' ( saut de ligne <=> touche entrée ), '\t' ( tabulation <=> touche tab ). Cela dépend de l'agencement de ton fichier. Apparement tu as au moins des \n.

Après à toi de gérer tous cela.

Tu voudras peut être traiter des entiers et non des caractères si ça te gêne, mais ce n'est pas un problème en soit, tu peux faire avec l'un comme l'autre.
Du coup voici une fonction qui transforme en entier une chaine de caractères c'est à dire ton tableau 'tableau'.

Code C/C++ :
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CharToInt : Permet de convertir un caractère en entier
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// ENTREE
//   - char *s        : la chaine de caractères à transformer
//   - int  *d        : Le tableau qui va contenir la convertion des caractères en entiers.
//   - int   taille_s : La taille de la chaine de caractère s
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

void CharToInt( char *s, int *d, int taille_s )
{
    if ( s != NULL && d != NULL )
    {
        /* Chaine temporaire qui transforme un caractère en chaine de caractères pour la fonction atoi */
        char temp[2]="";

        /* On parcours toutes la chaine s */
        int i;
        for ( i=0 ; i<taille_s ; i++ )
        {
            /* On transforme le caratère courant en chaine de caractères */
            sprintf(temp, "%c", s[i]);

            /* On le convertit en entier pour le stocker dans le tableau d'entiers */
            d[i] = atoi(temp);
        }
    }

    else perror("\n\n CharToInt ");
}


Exemple :
Code C/C++ :
int tableauEntier = (int *)malloc( Longueur*sizeof( int ) );
void CharToInt( tableau, tableauEntier, Longueur );


Cette discussion est classée dans : fichier, text, tableau, charger, zero


Répondre à ce message

Sujets en rapport avec ce message

Charger un fichier dans un tableau de char [ par hitaki zoran ] Bonjour, j'ai commencé à développer en C++ il y a peu de temps et j'ai besoin d'aide pour deux choses:1. J'aimerais savoir comment je peux charger un mots croisés [ par bissmillah ] J'aimerai avoir de l'aide grace aux menbres inscrits,c'est a props d'un projet que j'ai a faire en c++ (les mots croisés),je doit créer un fichier tex charger le contenu d'un QtextEdit dans un fichier [ par naddoush ] salut tout le monde, dans mon application j'ai un QtextEdit et un bouton save à coté.je voudrais bien qu'on ecrivant quelques lignes dans ce Qtextedit WinExec et temps d'exécution d'une commande dos [ par maxidoh ] Bonsoir,je fais un programme sous Borland C++ Builder qui va lancer des requêtes ping et traceroute sous windows.Je lance l'exécution des ping et trac Recuperer des mots dans un fichier texte et les stocker dans un tableau. [ par amentag ] Bonjour.Je dispose d'un fichier texte contenant plusieurs mots (sous forme d'une liste) et j'aimerai les récuperer afin de les stocker dans un tableau Tableau et fichier txt [ par cleloa ] Salut tout le monde !Alors voilà, je suis en plein combat  ac le langage c pour reussir à :Importer des données d'un fichier txt dans un tableau de st pb d'exécution pgm c++ [ par malikach ] Bonjour, j'ai un pb avec mon pgm C++, j'ai fait un pgm qui lit à partir d'un fichier dans un tableau , le tableau est à deux dimensions déclaré en u comment imprimer les resultats d'un code dans fichier text? [ par sam90 ] salut mes amis,je veux simplement savoir comment sortir les resultats d'un calcul en langage c dans un fichier text,parce que le code fait les calculs Tableau float stocké dans un fichier binaire [ par samuraijack1412 ] Bonjour,J'ai stocké un tableau float dans un fichier binaire. Comment je peux afficher ce tableau du fichier binaire? Merci :)


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 : 1,201 sec (3)

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