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

mqsi
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Dernière intervention
28 avril 2010
- 24 janv. 2007 à 16:30 - Dernière réponse : yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
- 24 janv. 2007 à 22:43
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++;: 
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
- 24 janv. 2007 à 22:43
3
Merci
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...
   }
}

Merci yann_lo_san 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de yann_lo_san
yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
- 24 janv. 2007 à 17:14
0
Merci
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
}
Commenter la réponse de yann_lo_san
mqsi
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Dernière intervention
28 avril 2010
- 24 janv. 2007 à 19:28
0
Merci
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.
Commenter la réponse de mqsi
nerone21
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Dernière intervention
5 mai 2011
- 24 janv. 2007 à 20:11
0
Merci
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...
Commenter la réponse de nerone21
nerone21
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Dernière intervention
5 mai 2011
- 24 janv. 2007 à 20:27
0
Merci
dsl pour l'indentation bizarre que ca a fait...
Commenter la réponse de nerone21

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.