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 :

lire des données dans un fichier et les stocker dans un tableau


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut lire des données dans un fichier et les stocker dans un tableau
    bonjour ,
    je travaill en C++,j'ai un fichier contenant de chiffres de types int séparés d'un espace, je voudrais récuprérer ces données dans un tableau de int
    Pouvez vous m'indiquer la méthode à utiliser et le code pour faire ça pour réaliser ça ?

    Merci

  2. #2
    Membre éprouvé Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Points : 997
    Points
    997
    Par défaut
    Bonjour,
    Qu'est-ce qui te pose problème en particulier ?
    Franchement, ça n'a rien de compliqué, pour autant qu'on se documente…

    Enfin on peut commencer par un par un peu de lecture :
    http://cpp.developpez.com/faq/cpp/?p...ture_par_ligne
    http://cpp.developpez.com/faq/cpp/?p...RINGS_strtonum

    Sinon, deux sites de référence sur le standard (en anglais).
    La section sur les flux (« stream ») devrait particulièrement t'intéresser.
    www.cplusplus.com
    www.cppreference.com

    Bon courage !

  3. #3
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Passer par des strings puis analyser ces strings pour remplir un tableau de int est pour le moins contre productif ( Dans le cas où tes données restent intègres)

    Le délimiteur naturel d'un stream est l'espacement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    typedef int capture_type ;
    std::ifstream file("file.txt");
    if(file)
    {
        std::vector<capture_type> tab;
        for(capture_type nbr ; file >> nbr;)
        {
            tab.push_back(nbr);
        } 
    }
    Tu peux changer le type de la capture en modifiant le typedef, ainsi, pouvoir récupérer des ints, des floats, des strings, voir des classes entières...
    Homer J. Simpson


  4. #4
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    [HS]
    Je m'aperçois qu'il y a de moins en moins de Merci et de Résolu sur ce forum... ça serais pas du troll pourtant...
    [/HS]
    Homer J. Simpson


  5. #5
    Invité
    Invité(e)
    Par défaut
    Ou encore utiliser les iterateur de flux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    std::ifstream file("monfichier.txt");
    std::istream_iterator<int> first(file), last;
    std::vector<int> vec;
    std::copy(first, last, std::back_inserter(vec));

  6. #6
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Ou encore utiliser les iterateur de flux
    J'aime bien cette version !
    Homer J. Simpson


  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Désolé
    c'est vrai j'ai été impolis merci pour votre aide

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/06/2009, 11h26
  2. Réponses: 1
    Dernier message: 15/12/2008, 19h50
  3. Comment lire des données d'un fichier XML à partir de java
    Par kamaldev dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 25/08/2006, 19h29
  4. Réponses: 12
    Dernier message: 18/06/2006, 19h42
  5. Réponses: 3
    Dernier message: 23/04/2006, 12h14

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