_ungetc_nolock_ungetwc_nolock

將字元推送回資料流,而無需鎖定。

語法

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

參數

c
要推送的字元。

stream
FILE 結構的指標。

傳回值

如果成功,這些函式都會傳回字元引數 c。 如果無法回推 c 或是未讀取到任何字元,則輸入資料流不會變更,且 _ungetc_nolock 會傳回 EOF_ungetwc_nolock 會傳回 WEOF。 如果 streamNULL,則會傳回 EOFWEOF,且 errno 會設定為 EINVAL

如需這些錯誤碼及其他錯誤碼的相關資訊,請參閱:errno_doserrno_sys_errlist 以及 _sys_nerr

備註

這些函式為 ungetcungetwc 的非鎖定版本。 具有 _nolock 尾碼的版本完全一致,不同之處在於不受保護,不能免於其他執行緒的干擾。 因為它們不會造成鎖定其他執行緒的額外負荷,所以可能會比較快。 這些函式只能用在安全執行緒內容 (例如單一執行緒應用程式) 或呼叫範圍已經處理執行緒隔離的地方。

根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態

一般文字常式對應

TCHAR.H 常式 _UNICODE_MBCS 未定義 _MBCS 已定義 _UNICODE 已定義
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

需求

常式 必要的標頭
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> 或 <wchar.h>

如需相容性詳細資訊,請參閱相容性

另請參閱

資料流 I/O
getc, getwc
putc, putwc