Datei einlesen.



  • Hallo,

    lese mit folgender Funktion den Inhalt einer Datei ein:

    void CDateiLesenDlg::OnLesen() 
    {
    	CFileFind Find;
    
    	char szPuffer[500];
    
    	CFile myFile;
    	CFileException fileException;
    
    	BOOL bFind = Find.FindFile("D:\\GDT_I\\*.txt", 0);
    
    	while(bFind)
    	{
    		bFind = Find.FindNextFile();
    
    		m_sDateiName = Find.GetFileName();
    
    		myFile.Open(m_sDateiName, CFile::modeReadWrite, &fileException);
    
    		int i = myFile.GetLength();
    
    		myFile.Read(szPuffer, sizeof (szPuffer));
    
    		m_sInhalt = szPuffer;
    		m_sTempInhalt = szPuffer;
    
    		UpdateData(FALSE);
    	}
    }
    

    Mein Problem:
    Ich möchte meinen CString m_sInhalt nicht 500Byte gross haben, sondern nur i bytes.

    Meine Löung wäre i merken, und im CString ein delete von 500 - i.
    Ist ein bisschen umständlich, geht das nicht einfacher?

    Gruss Sven



  • Du könntest für szPuffer einen CString verwenden und dann

    myFile.Read( szPuffer.GetBufferSetlength( i ), i );
    


  • Danke geht!

    Gruss Sven


Anmelden zum Antworten