Datei schnellstmöglichst einlesen



  • Hallo
    Meine Frage ist was eigentlich die schnellste Methode ist eine komplette .txt Datei in einen CString einzulesen.
    Bisher hab ich das so gemacht:

    C++:
    CString Line, Text;
    CStdioFile ReadFile;
    if(!ReadFile.Open("text.txt", CFile::modeRead)){
        AfxMessageBox("Can't open file!");
    }
    else{
        while(ReadFile.ReadString(Line))
            Text += Line + "\r\n";
        ReadFile.Close();
    }
    

    Aber mir ist aufgefallen dass es auf diese Weise bei größeren Dateien ziemlich lang dauert.
    Daher wollte ich jetzt fragen ob das nicht auch irgendwie schneller geht, zB das ganze auf einmal einlesen?

    Vielen Dank schon mal 😃


  • Mod

    Pseudo code ohne casts und Fehlerprüfung:

    CFile file;
    file.Open(...);
    CString strBuffer;
    int iLen = file.GetLength();
    strBuffer.RealeaseBuffer(file.Read(strBuffer.GetBuffer(iLen),iLen));
    file.Close();
    

Anmelden zum Antworten