Share via


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

请参见

参考

流 I/O

getc、getwc

putc、putwc