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 :

Recherche dans un fichier


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut Recherche dans un fichier
    Bonjour,

    je ne m'y retrouve plus dans toutes les fonctions pour parcourir, faire des recherche dans un fichier.
    Alors je sollicite votre aide

    J'ai un fichier de ce type :

    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
     
    [Area Of Interest Header]
    file_id=  V1.0
    date_created= Friday 25-April-2008 -  10:27:53
    title= Fig1.aoi
    number_of_aois= 4
    number_of_scene_planes= 1
    eyehead_type_file= NO
    aoi_file_scaled= NO
     
    [Area Of Interest Data]
    1=  1  0 "S2        "   52.500  175.962   8.036  54.954
    2=  2  0 "S1        "   152.596  189.808   12.442  209.447
    3=  3  0 "S3        "   55.961  161.538   34.994  198.301
    4=  4  0 "S4        "   30.000  192.981   3.111  211.262
    [Area Of Interest Gains And Offsets]
    1=     0.000    0.000    0.000    0.000
     
    [Area Of Interest Plane Coordinates]
    1=     0.000    0.000    0.000    0.000     0     0     0     0
    Dans ce fichier je souhaite récupérer les informations suivantes dans des variables séparées (que j'ai mis en rouge) :

    title= Fig1.aoi
    number_of_aois= 4
    1= 1 0 "S2 " 52.500 175.962 8.036 54.954
    2= 2 0 "S1 " 152.596 189.808 12.442 209.447
    3= 3 0 "S3 " 55.961 161.538 34.994 198.301
    4= 4 0 "S4 " 30.000 192.981 3.111 211.262

    Je ne connais pas à l'avance le nombre de ligne (ici 4). Comment je peux faire pour stocker ces informations dans un tableau type zones[nb de zone (ici 4)][4].


    Merci de toute l'aide que vous pourrez m'apporter!

  2. #2
    r0d
    r0d est actuellement connecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 294
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue sur developpez.com

    pour ton problème, le meilleur et le plus simple est d'utiliser un conteneur de la stl (cf. faq).

    Par exemple un vector. vector est un tableau dynamique, c'est à dire que l'on ne connait pas sa taille lors de sa création. Pour ajouter un élément, la fonction membre push_back().

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut
    merci pour la réponse, je vais faire mes recherches de ce coté.

    En fait ma question de base (qui n'était pas clair du tout en fait.. :p) c'est comment je peux récupérer les informations du fichier?

    avec quel fonction?
    J'ai essayé fgets, mais comment je récupère seulement un bout de chaine par ligne?

    Merci!

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Une solution serait de lire le fichier ligne par ligne comme expliqué dans la FAQ.

    Et ensuite de parser chaque ligne à l'aide d'un istringstream.

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut
    Merci pour la réponse,

    j'ai pu faire ce que je voulais, mais j'ai un autre problème maintenant..

    j'ai ma chaine strBuffer (type string) que je veux mettre dans un tableau (type const char[100][5]*).

    si je fais :

    m_Zones[0][0] = "test";

    ca fonctione, j'ai bien "test" qui s'affiche.

    si je fait :

    strBuffer = "111.101";
    m_Zones[0][1] = strBuffer.c_str();

    puis

    strBuffer = "3.101";
    m_Zones[0][2] = strBuffer.c_str();

    J'ai "3.101" qui s'affiche pour m_Zones[0][1] et m_Zones[0][2]..

Discussions similaires

  1. Améliorer la recherche dans un fichier?
    Par abdmaa dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 09/05/2005, 13h09
  2. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51
  3. Rechercher dans un fichier avec emacs
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/11/2004, 10h28
  4. recherche dans un fichier xml (castor)
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 06/09/2004, 14h28
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

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