fwprintf - gleicher Aufruf, unterschiedlicher Fehler



  • Hallo liebe Community,

    ich hab einen seltsamen Fehler, der sich für meine Logik völlig verschließt.

    Ich öffne einen File-Handler mit:

    _wfopen(pathToJournal, L"r+")
    

    Das klappt auch bestens.
    Nun möchte ich in das File schreiben. Und zwar mit folgendem Code:

    errno_t err;
    fwprintf(myHandle->journal, L"%d", 5 );
    _get_errno(&err); // err = 22
    fwprintf(myHandle->journal, L"%d", 5 );
    _get_errno(&err); // err = 0;
    

    Wie bereits den Comments zu entnehmen, klappt der gleiche Aufruf und ein anderes mal nicht. Es kommt dann Code 22 (Invalid Argument) zurück.

    Ich versteh es einfach nicht. 😉

    Danke für Hilfe und Tipps.

    MFG,
    Ronny



  • Was ist _get_errno?

    Wenn _get_errno irgendein obskures Makro ist, um errno auszuwerten, dann fehlt die Überprüfung der Rückgabe von fwprintf. Wenn diese Funktion >= 0 zurückliefert, ist errno unbedeutend.



  • Stimmt. Du hast Recht. Es kommt immer ein Wert größer 0 zurück, also klappt fwprintf.

    Ich hatte nur eine seltsame Ausgabe im File da ich es statt a+ mit r+ geöffnet hatte und dachte es stimmt was mit dem fwprintf nicht.

    Danke für den Hinweis.

    mfg


Anmelden zum Antworten