Page 1 of 1

[MFC] Cum citesc un fisier text, line cu linie

Posted: 16 Jul 2007, 15:57
by Ovidiu Cucu
Problema
Este foarte simpla. O pun totusi aici pentru ca am vazut zeci de "implementari" care mai de care mai aiurea.

Rezolvare
Folosim clasa MFC CStdioFile, specializata pentru lucrul cu fisiere text.

Exemplu

Code: Select all

void CWhateverClass::ReadTextFile(LPCTSTR pszFileName, CStringArray& arrLines) 
{ 
   arrLines.RemoveAll(); 
   CString strLine; 
   TRY 
   { 
      CStdioFile file(pszFileName, CFile::modeRead); 
      while(file.ReadString(strLine)) 
      { 
         arrLines.Add(strLine); 
      } 
   } 
   CATCH_ALL(e) 
   { 
      e->ReportError(); // shows what's going wrong 
   } 
   END_CATCH_ALL 
}
NOTA: Multa lume uita de exceptiile care pot fi aruncate atat din constructorul clasei CStdioFile cat si din functia CStdioFile::ReadString dupa care se intreaba mult si bine "what's going wrong?".
In exemplul de mai sus am "prins" eventualele exceptii folosind, simplu si comod, macro-urile MFC TRY, CATCH_ALL si END_CATCH_ALL.


<< Back to MFC index