Ha! So was! Problem mit ifstream



  • Hallo, bin ich mal wieder auf euch angewiesen:
    Ich hab fogenden Code:

    std::ifstream IFile;
        IFile.open(FileName.c_str()/*,std::ios::in*/);
    
        IFile.seekg(0,std::ios::end);
        FileLength = IFile.tellg();
    
        char* Buffer = new char[FileLength];
    
        IFile.seekg(0);
        IFile.read(Buffer,FileLength);
    
        if(IFile.eof())
            Err("Beim Laden : IFile.eof() nach Lesen in Puffer\n");
    

    Bei mir kommt immer, dass IFile.eof() wahr ist.
    Wie kann ich das abstellen?



  • Ich kenne die Funtkionen jetzt nicht so genau, aber du liest da doch das gesamte File ein und bist ergo am Ende angekommen... also ist eof() true, wie könnte es anders sein?

    Oder was habe ich jetzt übersehen, das mit sich bringt, dass es nicht so sein sollte?



  • Ersetz mal IFile.seekg(0); durch IFile.seekg(0, std::ios::beg); .

    /EDIT: Grr, man sollte erst mal zuende lesen. Also, Shinja hat recht. Wo ist das Problem?



  • Mit ifstream IFile(FileName.c_str(),std::ios::in | std::ios::binary);
    gehts glaub ich.


Anmelden zum Antworten