FGETWS(3) | FreeBSD Library Functions Manual | FGETWS(3) |
名称
fgetws — ストリームからワイド文字の 1 行を取得するライブラリ
Standard C Library (libc, -lc)書式
#include < stdio.h>#include < wchar.h>
wchar_t *
fgetws( wchar_t * restrict ws, int n, FILE * restrict fp);
解説
fgetws() 関数は、与えられた fp から、最大で n で指定された文字数より 1 だけ少ない数の文字を読み込み、ワイド文字列 ws に格納します。読み込みは、改行文字が見つかったり、ファイルの終了あるいはエラーが見つかったりした場合に停止します。もし、改行文字があれば、保持されます。任意の文字を読み込んでエラーが発生しなかった場合、文字列の最後に‘\0
’文字が追加されます。
戻り値
成功して終了すると、 fgetws() は ws を返します。文字を読み込む前にファイルの終了に達すると、 fgetws() は NULL を返します。このとき、バッファの内容は変化しません。エラーが発生すると fgetws() は NULL を返し、バッファの内容は不定になります。 fgetws() 関数はファイルの終了とエラーとを区別しません。どちらが起こったかを判断するには、呼び出し側が feof(3) と ferror(3) を使用しなければなりません。エラー
fgetws() 関数はつぎの場合に失敗します:- [ EBADF]
- 与えられた fp 引数が、読み込み可能なストリームではありません。
- [ EILSEQ]
- 入力ストリームから得られたデータは有効なマルチバイト文字を形成しません。
関数 fgetws() が失敗すると、ルーチン fflush(3), fstat(2), read(2) または malloc(3) に明記されたエラーのいずれかが errno に設定されます。
規格
fgetws() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。August 6, 2002 | FreeBSD |