ungetwc() stellt das Zeichen, das mit dem Langzeichen wc korrespondiert, in den Eingabestrom zurück, auf den stream zeigt. Die zurückgestellten Zeichen werden durch nachfolgende Leseoperationen aus diesem Datenstrom in umgekehrter Reihenfolge zurückgegeben. Wenn zwischendurch eine Funktion zur Positionierung (fseek() , fsetpos() oder rewind() ) für denselben Datenstrom erfolgreich aufgerufen wird, werden die zurückgestellten Zeichen aus dem Datenstrom gelöscht. Der externe Speicher, der dem Datenstrom zugeordnet ist, bleibt unverändert.
Das Zurückstellen eines Zeichens ist garantiert. Wenn ungetwc() zu oft für denselben Datenstrom aufgerufen wird, ohne dass zwischendurch eine Lese- oder Positionierungsoperation ausgeführt wird, kann das Zurückstellen fehlschlagen. Wenn der Wert von wc gleich der Konstanten WEOF ist, schlägt die Operation fehl und der Eingabestrom bleibt unverändert. Ein erfolgreicher ungetwc -Aufruf löscht das Dateiendekennzeichen für diesen Datenstrom. Der Wert des Lese-/Schreibzeigers für den Datenstrom ist nach einem Lesen oder Verwerfen aller zurückgestellten Zeichen derselbe wie vor dem Zurückstellen der Zeichen. Der Lese-/Schreibzeiger wird durch jeden erfolgreichen ungetwc -Aufruf erniedrigt. Wenn sein Wert vor einem Aufruf gleich 0 ist, ist sein Wert nach dem Aufruf unbestimmt. Einschränkung In dieser Version des C-Laufzeitsystems werden nur 1-Byte-Zeichen als Langzeichen unterstützt. Sie sind vom Typ wchar_t (siehe stddef.h ). (Ende) |