std::ungetwc
| Definiert in Header <cwchar> |
||
| std::wint_t ungetwc( std::wint_t ch, std::FILE* stream ); |
||
Wenn ch nicht gleich WEOF ist, wird das Wide-Zeichen ch in den Eingabepuffer gepuffert, der mit dem Stream stream assoziiert ist, und zwar so, dass nachfolgende Leseoperationen von stream dieses Wide-Zeichen abrufen werden. Das mit dem Stream assoziierte externe Gerät wird nicht verändert.
Stream-Positionierungsoperationen std::fseek, std::fsetpos und std::rewind verwerfen die Effekte von std::ungetwc.
Wenn std::ungetwc mehr als einmal ohne eine dazwischenliegende Lese- oder Positionierungsoperation aufgerufen wird, kann dies fehlschlagen (mit anderen Worten, ein Pushback-Puffer der Größe 1 ist garantiert, aber jeder größere Puffer ist implementierungsabhängig). Wenn mehrere erfolgreiche std::ungetwc-Aufrufe durchgeführt wurden, rufen Leseoperationen die zurückgepufferte Wide-Zeichen in umgekehrter Reihenfolge von std::ungetwc ab.
Wenn ch gleich WEOF ist, schlägt die Operation fehl und der Stream bleibt unverändert.
Ein erfolgreicher Aufruf von std::ungetwc löscht das End-of-File-Statusflag feof.
Ein erfolgreicher Aufruf von std::ungetwc für einen Stream (egal ob Text oder Binärdatei) modifiziert den Stream-Positionsindikator auf nicht spezifizierte Weise, garantiert aber, dass nach dem Abrufen aller zurückgepufferten Wide-Zeichen durch eine Leseoperation der Stream-Positionsindikator gleich seinem Wert vor std::ungetwc ist.
[bearbeiten] Parameter
| ch | - | Wide-Zeichen, das zurückgegeben werden soll |
| stream | - | Dateistream, zu dem das Wide-Zeichen zurückgegeben werden soll |
[bearbeiten] Rückgabewert
Bei Erfolg wird ch zurückgegeben.
Bei einem Fehler wird WEOF zurückgegeben und der angegebene Stream bleibt unverändert.
[bearbeiten] Siehe auch
| gibt ein Zeichen zurück in einen Dateistream (function) | |
| liest ein Weitzeichen aus einem Dateistream (Funktion) | |
| C-Dokumentation für ungetwc
| |