_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。有关更多信息,请参见平台调用示例。