fgetwc
提供: cppreference.com
ヘッダ <wchar.h> で定義
|
||
wint_t fgetwc( FILE *stream ); |
(C95以上) | |
wint_t getwc( FILE *stream ); |
(C95以上) | |
指定された入力ストリームから次のワイド文字を読み込みます。 getwc() はマクロとして実装されているかもしれず、 stream
を2回以上評価するかもしれません。
目次 |
[編集] 引数
stream | - | ワイド文字の読み込み元 |
[編集] 戻り値
ストリームの次のワイド文字。 失敗した場合は WEOF。
失敗がファイル終端に達したことに起因する場合は、さらに stream
のファイル終端指示子 (feof() を参照) をセットします。 失敗が何らかの他のエラーに起因する場合は、 stream
のエラー指示子 (ferror() を参照) をセットします。
エンコーディングエラーが発生した場合は、さらに errno を EILSEQ
に設定します。
[編集] 例
Run this code
#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); }
出力:
кошка
[編集] 参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.29.3.1 The fgetwc function (p: 421-422)
- 7.29.3.6 The getwc function (p: 424)
- C99 standard (ISO/IEC 9899:1999):
- 7.24.3.1 The fgetwc function (p: 367)
- 7.24.3.6 The getwc function (p: 369)
[編集] 関連項目
ファイルストリームから文字を取得します (関数) | |
(C95) |
ファイルストリームからワイド文字列を取得します (関数) |
(C95) |
ファイルストリームにワイド文字を書き込みます (関数) |
(C95) |
ファイルストリームにワイド文字を戻します (関数) |
fgetwc の C++リファレンス
|