ReadFile ErrorCode 87



  • Hilfe,
    ich habe ein Problem.
    Ich öffne eine Datei mit CreateFile:

    HANDLE OpenFileWrite(char * filename)
    {
           HANDLE openhandle;
           openhandle = CreateFile(filename,GENERIC_WRITE,0,0,CREATE_ALWAYS,
                                   FILE_ATTRIBUTE_NORMAL,NULL);
           return openhandle;
    }
    

    Alles klappt hier.
    Nun will ich ein Teil, der Datei einlesen.
    Das mach ich mit ReadFile:

    fpuffer=new char[(int)start+1];
    bool testtest;
    testtest=ReadFile(datei,&fpuffer,(DWORD)start,&bytesreaded,NULL);
    cout<<"Fehlercode: "<<GetLastError()<<endl;
    
    delete [] fpuffer;
    

    Das Handle big kriege ich hier :

    datei=OpenFileRead(datei_name);
    if(datei==INVALID_HANDLE_VALUE)
    cout<<"Fehler beim öffnen der Datei!\n";
    

    ReadFile gibt 0 zurück und GetLastError 87.
    Nun frage ich mich, wo der Fehler sitzt.



  • Afaik das & vor falsch fpuffer, dürfte aber nicht diesen Fehler verursachen. Was liefert denn CreateFile zurück? Hast du es mal versucht, ohne das Ganze in einzelne Funktionen aufzusplitten?!



  • Das & ist falsch, sollte aber keinen Error 87 liefern (Ungültiger Parameter)

    Stimmt das Dateihandle wirklich wirklich wirklich?



  • Also ich habe einfach das & weggelassen.

    Nun funktioniert es super.


Anmelden zum Antworten