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

MFC Discussion :

[MFC] extraction depuis .txt en CString


Sujet :

MFC

  1. #1
    Membre �clair�
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Chef de projet NTIC
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Par d�faut [MFC] extraction depuis .txt en CString
    Alors j'ai beau cherch� j'ai reussi � trouver uniquement une partie de ce dont j'ai besoin.


    Alors j'ouvre un fichier .txt ensuite je voudrais extraire un mot contenu grace au s�parateur "|",
    pour le moment tout c'a je sais faire,
    mon probleme reside dans le faite que je voudrais ensuite affecter ma valeur extraite
    dans une variable de type CString.

    En cherchant dans la FAQ j'ai trouv� la fonction strTok je l'ai deja utilis� en c, elle semble convenir cependant elle me renvoi un resultat sous la forme d'un pointeur de char or je voudrais le recuperer sous la forme d'un CString.

    Voila j'espere avoir �t� assez explicite et je vous remercie pour l'aide que vous pourrez m'aporter.

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par d�faut
    regarde du cot� des m�thodes CString::Left, CString::Right, CString::Find, CString::ReverseFind.

  3. #3
    Membre �clair� Avatar de torNAdE
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    255
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 255
    Par d�faut
    salut,
    je ne sais pas si c bien ca oui ke j ai tort mais bon
    essaier de fiar comme ca
    CString variableDest;
    variableDest.Format("%s",variableSource);

    j'en sais pas bcp.

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par moulefrite
    Alors j'ai beau cherch� j'ai reussi � trouver uniquement une partie de ce dont j'ai besoin.


    Alors j'ouvre un fichier .txt ensuite je voudrais extraire un mot contenu grace au s�parateur "|",
    pour le moment tout c'a je sais faire,
    mon probleme reside dans le faite que je voudrais ensuite affecter ma valeur extraite
    dans une variable de type CString.

    En cherchant dans la FAQ j'ai trouv� la fonction strTok je l'ai deja utilis� en c, elle semble convenir cependant elle me renvoi un resultat sous la forme d'un pointeur de char or je voudrais le recuperer sous la forme d'un CString.

    Voila j'espere avoir �t� assez explicite et je vous remercie pour l'aide que vous pourrez m'aporter.
    et bien tu t'es arret� en chemin dans tes recherches ,
    http://c.developpez.com/faq/vc/?page...ons#MakeStrtok

  5. #5
    Membre �clair�
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Chef de projet NTIC
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Par d�faut
    j'avais trouv� ce code cependant quand je fai un AfxMessageBox il m'affiche le bon resultat mais aussi des message vide.

    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
     
    CString CStringTok(const char *szToken,const char *szDelimit,bool &rbEndParse)
    {
       CString strOrg,str;
       static const char *pszOrg=NULL;
     
       ASSERT(szDelimit!=NULL);
     
       if(szToken)
       {
           pszOrg=szToken;
           rbEndParse=false;
       }
       if(!pszOrg)
       {
            rbEndParse=true;
            return "";
       }
     
       strOrg=pszOrg;
       int nPos=strOrg.Find(szDelimit);
       if(nPos!=-1)
       {
          str=strOrg.Left(nPos);
          pszOrg+=(nPos+strlen(szDelimit));
       }
       else
       {
          str=strOrg;
          pszOrg=NULL;      
       }
       return str;
    }
    voici le code de la fonction fourni dans la FAQ

    voici un exemple de fichier txt
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    100,30,800,50,200,10,20,30,10,20,20,60,-1,30 | ABOUTIE

    et now ma methode permettant d'ouvrir un fichier .txt
    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
     
    void CGrafic::AnalyseFichierCSV()
    {
        FILE *f ;
        char *p, tLigne[128] ;
        int index ;
        int iVal,iCumulTemps ;
        CString test;
     
        nbLigneCSV = 0 ;
        if (strCSVName!="")
        {
            f = fopen(LPCSTR(strCSVName),"r") ;
     
            if (f)
            {
                iCumulTempsMax = 0 ;
                do
                {
                    p = fgets(tLigne,sizeof(tLigne),f) ;
                    CString strTemp=p;
     
                     bool bEndParse;
       CString strWord =CStringTok(strTemp,"|",bEndParse);
    //AfxMessageBox(strWord);
     
       while(!bEndParse)
       {
          // Work
          // ..................
          AfxMessageBox(strWord);
          // Get Next Token
          strWord = CStringTok(NULL,"|",bEndParse);

    le but de ce code serai d'uniquement extraire le mot "ABOUTIE"
    cependant avec le messageBox il me le renvoi bien mais continue � m'afficher des valeurs erron�es

    donc voila je souhaiterai uniquement recuperer une seul valeur

Discussions similaires

  1. [Windev 11] Extraction fichier .txt
    Par Xsara 167 cv dans le forum WinDev
    R�ponses: 5
    Dernier message: 20/11/2007, 16h05
  2. [MFC/vs2005] Comment enregistrer un CString dans CFile?
    Par hiko-seijuro dans le forum MFC
    R�ponses: 4
    Dernier message: 17/05/2006, 08h58
  3. Extraction information *.txt vers une base de donn�es
    Par Mr Capone dans le forum D�cisions SGBD
    R�ponses: 2
    Dernier message: 12/01/2005, 11h26
  4. [INTERBASE] Extraction vers txt d'un blob
    Par FORESTIER dans le forum InterBase
    R�ponses: 6
    Dernier message: 09/11/2004, 14h20
  5. [MFC][WinCE] Longueur maxi de CString?
    Par Sunny dans le forum MFC
    R�ponses: 3
    Dernier message: 28/01/2004, 14h40

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