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関数 (p: 307-308)
-
- 7.29.3.6 getwc関数 (p: 309)
- C11標準(ISO/IEC 9899:2011):
-
- 7.29.3.1 fgetwc関数(p: 421-422)
-
- 7.29.3.6 getwc関数(p: 424)
- C99標準(ISO/IEC 9899:1999):
-
- 7.24.3.1 fgetwc関数(p: 367)
-
- 7.24.3.6 getwc関数(p: 369)
関連項目
|
ファイルストリームから文字を取得する
(関数) |
|
|
(C95)
|
ファイルストリームからワイド文字列を取得する
(関数) |
|
(C95)
|
ファイルストリームにワイド文字を書き込む
(関数) |
|
(C95)
|
ワイド文字をファイルストリームに戻す
(関数) |
|
C++ documentation
for
fgetwc
|
|