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++Builder Discussion :

lecture d'un fichier [D�butant]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    Juillet 2010
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 22
    Par d�faut lecture d'un fichier
    bonjour a tous
    je suis debutante en c++ et je travaille avec builder; je souhaite remplire deux tableaux par des valeurs contenu dans un fichier .text. je n'ai aucune id�e comment faire: en tous cas j'imagine que je dois acc�der, de mon programme, a ce fichier et et copiers les donner dans mes tableau.. mais comment?!
    qlq'1 peu m'aider
    merci

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Pour acc�der � un fichier texte, utilise TStringList:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    TStringList *sl = new TStringList();
    sl->LoadFromFile( "C:\\NomDossier\\NomFichier.txt" ) ;
    for( int i=0; i < sl->Count; i++ )
    {
       // Afficher la Ième ligne du fichier
       ShowMessage( sl->Strings[i] ) ;
    }
    delete sl ;

  3. #3
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Citation Envoy� par lydafree Voir le message
    mon fichier contient deux colonne de nombre et le nombre de ligne et de 500. ce que je veux c de r�cup�rer les nombre de la 1ere colonne dans un tableau vector et la 2eme colonne dans un autre tableau, et cela sans passer pas un affichage dans un objet.
    dans votre r�ponse vous r�cup�rer ligne par ligne c �a?
    Le code que j'ai donn� permet effectivement de lire un fichier texte ligne par ligne. Il suffit ensuite de r�cup�rer chaque ligne et de faire le traitement souhait�, dans ton cas d�couper la ligne pour en extraire deux informations.

    Tout d�pend comment est structur� ton fichier texte, si il utilise des s�parateur de champ, ou si la taille des champ est fixe?

    Pour ton traitement, tu devrait t'en sortir avec les fonctions ci-dessous:
    - Pos qui te permet de trouver la position du caract�re s�parateur dans la cha�ne de caract�re
    - SubString qui te permet de r�cup�rer une sous chaine dans la chaine principale
    - Trim qui te permet de supprimer les espace avant et apr�s une chaine de caract�re

    Essai d'avancer de ton cot�, tu verra que ce n'est pas tr�s compliqu�... Et si tu n'y parvient pas, poste le bout de code qui pose probl�me pour qu'on puisse t'aider.

  4. #4
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    Juillet 2010
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 22
    Par d�faut
    merci bcp de l'interet que tu porte a mon probl�me, en fait j'ai essayer ton code et �a marche pour le charger dans un Tstringlist, mais c'est pas ce que je veux. mon fichier porte l'extention .tsp (traveling selsman problem) c'est des coordonn�es de deux vecteur que je devrais utiliser pour calculer une distance, ces coordonn�es je lai prend dans le site tsp LIB que voici: http://www.imm.dtu.dk/~hlp
    c'est dans set0 et set1. je devrai prendre les valeurs des colonnes 2 et 3, les sauvgarder dans deux vecteur dans mon code pour les utiliser apr�s.

    j'arrive a ouvrir le fichier, mais je sais pas comment attiendre les valeurs et comment prendre juste un certain nombre de ces coordonn�es et surtout les enregistrer dans mes deux vector.
    just un dernier truc, ce fichier peut s'ouvrir avec winedit ou c++ builder ou delphi mais wordpad ne l'ouvre pas comme il le faut.

    NB: c'est pour mon projet de M2, je dois soutenir mon projet mis septembre et la je g�n�re des coordonn�es semblable juste pour avancer, mais franchement je sais que pour mes prof je dois utilis� celle qui sont dans ce site.

    merci

  5. #5
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    Juillet 2010
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 22
    Par d�faut
    voila, j'ai r�ussie a r�soudre ce probl�me, je vous donne le code qlq'1 pourrai en avoir besoin.
    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
            i = 0;  j = 0;
     
    	if (OpenDialog1->Execute())
    	{
    		ifstream instance;
    		instance.open(OpenDialog1->FileName.c_str());
    		instance.seekg(0,ios::end);
    		instance.seekg(0,ios::beg);
     
                     while (std::getline(instance,ligne))
    		{
                             if (i >= 7)
                             {
                                    double coorx,coory;
                                    int num;
                                    sscanf(ligne.c_str(), "%d %lf %lf", &num, &coorx, &coory);
     
                                    if (j <= nbr_ville)
                                    {
                                            coordx2[j] = coorx;
                                            coordy2[j] = coory;
                                            j++;
                                    }
                             }
                            else
                                    i++;
    		}
     
    	}

  6. #6
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Si le probl�me est r�solu, n'oublie pas de cliquer sur le bouton

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    R�ponses: 8
    Dernier message: 07/07/2004, 16h30
  2. R�ponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    R�ponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    R�ponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    R�ponses: 2
    Dernier message: 11/06/2002, 10h24

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