Freigeben über


_ungetc_nolock, _ungetwc_nolock

Pusht ein Zeichen zurück in den Datenstrom ohne zu sperren.

Syntax

int _ungetc_nolock(
   int c,
   FILE *stream
);
wint_t _ungetwc_nolock(
   wint_t c,
   FILE *stream
);

Parameter

c
Zu verschiebendes Zeichen.

stream
Zeiger zur FILE -Struktur.

Rückgabewert

Bei Erfolg gibt jede dieser Funktionen das Zeichenargument c zurück. Wenn c nicht zurückgepusht werden kann oder wenn kein Zeichen gelesen wurde, bleibt der Eingabestream unverändert und _ungetc_nolock gibt EOF zurück. _ungetwc_nolock gibt WEOF zurück. Wenn streamNULL ist, wird EOF oder WEOF zurückgegeben und errno auf EINVAL festgelegt.

Weitere Informationen zu diesen und anderen Fehlercodes finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Hinweise

Diese Funktionen sind nicht sperrende Versionen von ungetc und ungetwc. Die Versionen mit dem Suffix _nolock sind identisch, allerdings sind sie nicht vor Störungen durch andere Threads geschützt. Sie sind möglicherweise schneller, da kein Mehraufwand zur Sperrung anderer Threads erforderlich ist. Verwenden Sie diese Funktionen nur in threadsichere Kontexten wie z. B. in Singlethreadanwendungen oder in Fällen, in denen der aufrufende Bereich die Threadisolation bereits handhabt.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Mapping generischer Textroutinen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

Anforderungen

Routine Erforderlicher Header
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Weitere Informationen

Stream-E/A
getc, getwc
putc, putwc