MFC lire un fichier texte ligne par ligne [Résolu]

Signaler
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010
-
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
-
salut a tous,
vs pouvez me dire comment lire un fichier texte ligne par ligne,puis recuperer chaque ligne ds un tableau,
et merci pr l'aide,je travail avec VC++;: 

5 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
20
Il suffit de tout récupérer dans 1 tab de lignes et après tu fais tes comparaisons comme tu veux :

CStdioFile f1;
CString sLignes[256]; // MAX 256 lignes dans le fichier

if( f1.Open("monFichier.txt", CFile::modeRead | CFile::typeText ) )
{
      int i = 0;
      while ( f1.ReadString( sLignes[i].getBufferSetLength(128),  127)
                 != NULL )
      {
            sFile[i].ReleaseBuffer();
            i++;
      }
      sFile[i].ReleaseBuffer();
}

/// Ici tu travailles sur les sLignes

for(int i = 0; i < 256; i++)
{
   if( sLignes[i].GetLength() > 0 )
   {
      // ect...
   }
}
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
20
En MFC !

CStdioFile f1;
if( !f1.Open( pFileName, CFile::modeRead | CFile::typeText ) )
{
   // erreur
}
else
{
   char buf[100];   
   while ( f1.ReadString( buf, 99 ) != NULL )
   // ligne dans buf
}
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010

merci pr la reponse ,
comment je parcours les lignes du fichier texte ,parce que j'ai des conditionsa faire  pour des lignes,quand je trouve des mot ds des lignes je passe a la ligne suivante, comment faire,et merci.
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

je suis désolé mais j'ai pas tout compris ce que tu voulais mais si tu cherche un mot ds une ligne c'est:

#include <string.h>
if(strstr(buffer,"mot"))
{
      \\ existe
}
else
{
      \\ n'existe pas
}

exemple: tu peut le tester en créant projet vide win32.
#include

<string.h>#include

<stdio.h>void

main(){

   char test[50]=
"salut moi ca va";

   if(strstr(test,
"moi"))   {

      printf(

"et toi?\n");   }

   else      printf(

"t'as dit koi?");      getchar();

  }

tu le met ds ta boucle ou tu recupere chaque ligne...
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

dsl pour l'indentation bizarre que ca a fait...