_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。 如果 stream 是 NULL,傳回 EOF 或 WEOF ,而且 errno 設定為 EINVAL。
如需有關這些錯誤碼和其他錯誤碼的詳細資訊,請參閱 _doserrno、errno、_sys_errlist 和 _sys_nerr。
備註
這些函式是 ungetc 和 ungetwc的非鎖定版本。 有 _nolock 結尾的版本是相同的,除非它們受到其他執行緒干擾。 因為它們不會造成鎖定其他執行緒的額外負荷,所以可能會比較快。 這些函式只能用在安全執行緒內容 (例如單一執行緒應用程式) 或呼叫範圍已經處理執行緒隔離的地方。
一般文字常式對應
TCHAR.H 常式 |
_UNICODE & _MBCS 未定義 |
_MBCS 已定義 |
_UNICODE 已定義 |
---|---|---|---|
_ungettc_nolock |
_ungetc_nolock |
_ungetc_nolock |
_ungetwc_nolock |
需求
常式 |
必要的標頭 |
---|---|
_ungetc_nolock |
<stdio.h> |
_ungetwc_nolock |
<stdio.h> 或 <wchar.h> |
如需其他相容性資訊,請參閱<簡介>中的相容性。
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。