_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 stream
NULL
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.