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 :

comment utiliser les fichiers et leur données?


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut comment utiliser les fichiers et leur données?
    Bonjour,
    J'aimerais savoir comment faire pour lire un fichier txt et mettre ses données dans un tableau pour après faire une cherche selon une saisie?

    Le tableau est basé sur une structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    struct Unsigne
    {
    	string signenom;
    	int signean;
    	int signejour;
    	int signemois;
    }
    Voila.
    car en fait j'aimerais faire une procédure permettant de remplir mon tableau a partir du fichier texte, et une fonction qui permettra de comparer les données saisies avec celles du tableau pour afficher les données (en l'occurence ici affiche le signe chinois si la date saisie correspond à une date du fichier).


    Si quelqu'un peut m'aider je le remercie.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Salut

    Tu peux déjà surcharger l'opérateur >> pour remplir directement ton tableau à partir d'un ifstream. Pour la lecture, ça se fait bien à coup de std::istream_iterator, avec std::copy ou bien directement avec le constructeur de ton conteneur. Tu peux fouiller un peu sur ce forum ou dans la FAQ si tout ça c'est du charabia pour toi .

    Ensuite pour retrouver un élément dans ton tableau selon un critère précis, tu peux définir les foncteurs qui vont bien (cf. la FAQ toujours) et utiliser std::find_if.

    Que la force soit avec toi 8)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    En effet je comprend pas grand chose, je vais aller regardé la faq encore une fois car j'avais pas compris la première fois, mais si t'avais un petit exemple pour illustrer ce que tu m'explique ca serais vraiment bien.
    Merci

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Bien sur, mais je ne sais pas si tu vas mieux comprendre

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    #include <iostream>
    #include <string>
    #include <vector>
    #include <fstream>
    #include <algorithm>
    #include <iterator>
     
    using namespace std;
     
    struct Unsigne
    &#123;
       string signenom;
       int signean;
       int signejour;
       int signemois;
    &#125; 
     
    // Surcharge de l'opérateur >> pour lire des Unsigne à partir d'un flux
    istream& operator >>&#40;istream& is, Unsigne& u&#41;
    &#123;
        return  is >> u.signenom >> u.signean >> u.signejour >> u.signemois;
    &#125;
     
    // Surcharge de l'opérateur << pour afficher des Unsigne sur un flux
    ostream& operator <<&#40;ostream& os, const Unsigne& u&#41;
    &#123;
        return os << u.signenom << " " << u.signean << " " << u.signejour << " " << u.signemois;
    &#125;
     
    // Ouverture du fichier
    ifstream File&#40;"Toto.txt"&#41;;
     
    // Déclaration et remplissage du vecteur de Unsigne
    vector<Unsigne> Tab&#40;&#40;istream_iterator<Unsigne>&#40;File&#41;&#41;, istream_iterator<Unsigne>&#40;&#41;&#41;;
     
    // Foncteur servant à identifier un Unsigne selon son champ signenom
    struct FindSigneNom
    &#123;
        FindSigneNom&#40;const string& s&#41; &#58; Signe&#40;s&#41; &#123;&#125;
     
        bool operator&#40;&#41;&#40;const Unsigne& u&#41; const
        &#123;
            return u.signenom == Signe;
        &#125;
     
    private &#58;
     
        string Signe;
    &#125;;
     
    // Recherche du premier Unsigne correspondant au critère
    vector<Unsigne>&#58;&#58;iterator It = std&#58;&#58;find_if&#40;Tab.begin&#40;&#41;, Tab.end&#40;&#41;, FindSigneNom&#40;"Cochon"&#41;&#41;;
     
    // Affichage de ses infos - si on a bien trouvé un élément correspondant
    if &#40;It != Tab.end&#40;&#41;&#41;
        cout << *It <<  endl;

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci, il est vrai que je ne comprend pas vraiment mieux mais bon c'est déjà plus précis et plus simple avec un exemple. Je vais étudier cet exemple.

Discussions similaires

  1. Comment utiliser les fichiers expdp et impdp a' distance
    Par edudesantana dans le forum Import/Export
    Réponses: 0
    Dernier message: 30/06/2015, 15h16
  2. [XNA] Comment utiliser les fichiers de textures .DDS
    Par DotNET74 dans le forum Windows Phone
    Réponses: 0
    Dernier message: 06/10/2011, 21h17
  3. Réponses: 3
    Dernier message: 20/01/2010, 06h54
  4. [WD7] Comment utiliser les fichiers DBF ?
    Par graymatter dans le forum WinDev
    Réponses: 13
    Dernier message: 05/04/2007, 17h27
  5. Comment utiliser les fichiers *.PNG avec Delphi ?
    Par HopeLeaves dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/09/2005, 20h59

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