fgetwc, getwc
|
Определено в заголовке
<wchar.h>
|
||
|
wint_t fgetwc
(
FILE
*
stream
)
;
|
(начиная с C95) | |
|
wint_t getwc
(
FILE
*
stream
)
;
|
(начиная с C95) | |
Считывает следующий широкий символ из заданного входного потока.
getwc
(
)
может быть реализована как макрос и может вычислять
stream
более одного раза.
Содержание |
Параметры
| stream | - | для чтения широкого символа из |
Возвращаемое значение
Следующий широкий символ из потока или WEOF при ошибке.
Если сбой был вызван условием конца файла, дополнительно устанавливает индикатор
eof
(см.
feof()
) на
stream
. Если сбой был вызван другой ошибкой, устанавливает индикатор
error
(см.
ferror()
) на
stream
.
Если произошла ошибка кодировки, дополнительно устанавливает
errno
в значение
EILSEQ
.
Пример
#include <stdio.h> #include <stdlib.h> #include <wchar.h> #include <errno.h> #include <locale.h> int main(void) { setlocale(LC_ALL, "en_US.utf8"); FILE *fp = fopen("fgetwc.dat", "w"); if(!fp) { perror("Can't open file for writing"); return EXIT_FAILURE; } fputs("кошка\n", fp); fclose(fp); fp = fopen("fgetwc.dat", "r"); if(!fp) { perror("Can't open file for reading"); return EXIT_FAILURE; } wint_t wc; errno = 0; while ((wc = fgetwc(fp)) != WEOF) putwchar(wc); if (ferror(fp)) { if (errno == EILSEQ) puts("Character encoding error while reading."); else puts("I/O error when reading"); } else if (feof(fp)) puts("End of file reached successfully"); fclose(fp); }
Вывод:
кошка
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.29.3.1 Функция fgetwc (стр.: 307-308)
-
- 7.29.3.6 Функция getwc (стр.: 309)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.29.3.1 Функция fgetwc (стр: 421-422)
-
- 7.29.3.6 Функция getwc (стр: 424)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.24.3.1 Функция fgetwc (стр. 367)
-
- 7.24.3.6 Функция getwc (стр. 369)
Смотрите также
|
получает символ из файлового потока
(функция) |
|
|
(C95)
|
получает широкую строку из файлового потока
(функция) |
|
(C95)
|
записывает широкий символ в файловый поток
(функция) |
|
(C95)
|
возвращает широкий символ обратно в файловый поток
(функция) |
|
C++ documentation
для
fgetwc
|
|