getchargetwchar

从标准输入读取字符。

语法

int getchar();
wint_t getwchar();

返回值

返回读取的字符。 这些函数等待输入,在输入可用之前不返回。

若要指示读取错误或文件结尾条件,getchar 返回 EOFgetwchar 返回 WEOF。 对于 getchar,请使用 ferrorfeof 检查是否存在错误或是否存在文件结尾条件。

备注

每个例程从 stdin 读取单个字符,并增加关联的文件指针以指向下一个字符。 getchar_fgetchar 一样,但实现为函数和宏。

这些函数还会锁定调用线程,是线程安全的。 有关非锁定版本,请参阅 _getchar_nolock_getwchar_nolock

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

一般文本例程映射

TCHAR.H 例程 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义
_gettchar getchar getchar getwchar

要求

例程 必需的标头
getchar <stdio.h>
getwchar <stdio.h><wchar.h>

通用 Windows 平台 (UWP) 应用中不支持控制台。 与控制台、stdinstdoutstderr 关联的标准流句柄必须重定向,然后 C 运行时函数才能在 UWP 应用中使用它们。 有关兼容性的详细信息,请参阅 兼容性

示例

// crt_getchar.c
// Use getchar to read a line from stdin.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;

    for (i = 0; (i < 80) && ((ch = getchar()) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }

    // Terminate string with a null character
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);
}

This textInput was: This text

另请参阅

流 I/O
getcgetwc
fgetcfgetwc
_getch_getwch
putcputwc
ungetcungetwc