objet CStdioFile

objet CStdioFile - Programmation

Marsh Posté le 18-02-2002 à 08:59:10    

salut,
est t-il possible de faire une boucle qui parcour un fichier texte est que a chaque fois que je rencontre le caractere "|" je
stock ce que j'ai lu
 :ouch:

Reply

Marsh Posté le 18-02-2002 à 08:59:10   

Reply

Marsh Posté le 18-02-2002 à 09:25:24    

bah oui, avec CFile...

Reply

Marsh Posté le 18-02-2002 à 09:49:39    

en faite j'avais deja poser la question enfin pas tout a fait la
meme
je fesait une recherche dans le fichier jusqu'a la rencontre CR LF mais avec un objet CStdioFile
Donc tu me dit d'utiliser l'objet CFile alors.Je fesais avant:
 
//ouverture du fichier sortie en lecture
if(FileOut.Open(nomfichier, (CFile::modeRead)) == 0)
{
    ret=0;
}
else  
{  
//boucle de lecture du fichier
     
while(!feof(FileOut.m_pStream))
{
     
  FileOut.ReadString(str);
  rec.SetString(str,VT_BSTR);
 
  sfDB34.AddNewRecord();
  sfDB34.MoveLast();
  sfDB34.SetItem("ID", (COleVariant) rec);
   
}
FileOut.Close();
syncSession.AddLogEntry("fin d'ecriture du fichier \r\n" );
 
J'ai juste a modifier la boucle while?

Reply

Marsh Posté le 18-02-2002 à 10:20:21    

c le caractère "|" ou le caractère de fin de ligne sur lequel tu veux te baser !?

Reply

Marsh Posté le 18-02-2002 à 10:35:15    

en faite avant je voulais le caractere de fin de ligne mais finalement c le caractere "|" que je me suis basé et finalement j'ai trouver.J'ai fait ca:
 
if(FileOut.Open(nomfichier, (CFile::modeRead)) == 0)
{
//il n'y a pas de fichier à prendre , ce n'est  pas un problème
  ret= 0;
}
else  
{  
//boucle de lecture du fichier
     
while(!feof(FileOut.m_pStream))
{    
 FileOut.ReadString(str);  
 ii=jj=0;  
 for (;;)  
 {
   jj=str.Find("|",ii);
   if (jj<0)
 break;                      
 
  rec.SetString( str.Mid(ii,jj-ii),VT_BSTR);
  sfDB34.AddNewRecord();    
  sfDB34.MoveLast();
  sfDB34.SetItem("DATA", (COleVariant) rec );
  ii=jj+1;
 
  }
     
         
}
FileOut.Close();
syncSession.AddLogEntry("fin d'ecriture du fichier \r\n" );
 
 :hap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed