_fgetchar, _fgetwchar
Считывает символ из stdin.
int _fgetchar( void );
wint_t _fgetwchar( void );
Возвращаемое значение
_fgetchar возвращает символ, прочтенный как int, или возвращает EOF для отображения ошибки или конца файла. **_**fgetwchar возвращает, как и wint_t, расширенный символ, который соответствует прочитанному символу, или возвращает WEOF для отображения ошибки или конца файла. Для обеих функций следует использовать feof или ferror для различения условий ошибки и конца файла.
Заметки
Эти функции считывают символ из stdin. Функция затем увеличивает указатель связанного файла (если он указан) для указания на следующий символ. Если поток находится в конце файла, для потока устанавливается индикатор конца файла.
_fgetchar равно fgetc( stdin ). Она также эквивалентна getchar, но реализуется только как функция, а не как функция и макрос. _fgetwchar — это расширенная версия _fgetchar.
Эти функции не совместимы со стандартом ANSI.
Универсальное текстовое сопоставление функций
Подпрограмма Tchar.h |
_UNICODE и _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
Требования
Функция |
Обязательный заголовок |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях Магазин Windows. Стандартные дескрипторы потока, связанные с консолью — stdin, stdout и stderr — необходимо перенаправить, чтобы функции C времени выполнения могли использовать их в приложениях Магазин Windows. Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_fgetchar.c
// This program uses _fgetchar to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
//
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char buffer[81];
int i, ch;
// Read in first 80 characters and place them in "buffer":
ch = _fgetchar();
for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = _fgetchar();
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
}