FGETWS(3)

名前
fgetws - ワイド文字の文字列を FILE ストリームから読み込む

書式
#include <wchar.h>

wchar_t *fgetws(wchar_t *ws, int n, FILE *stream);

説明
fgetws() 関数は fgets(3) に対応するワイド文字関数である。 この関数は、最大 n-1 文字のワイド文字を ws が示すワイド文字の配列に読み込み、 終端のヌルワイド文字 (L'\0') を追加する。 この関数は、ワイド文字の改行文字を見つけ、これを格納すると読み込むのを止める。 この関数はストリームの終わりに達した場合も読み込みを止める。

プログラマは、ws には少なくとも n 文字のワイド文字を 格納できる領域を必ず確保していなければならない。

これらの処理を停止せずに行いたいときは、 unlocked_stdio(3) を参照のこと。

返り値
fgetws() は成功すると ws を返す。 既にストリームの終わりに達しているか、エラーが起きた場合には NULL を返す。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
fgetws() | Thread safety | MT-Safe

準拠
POSIX.1-2001, POSIX.1-2008, C99.

注意
fgetws() の動作は、現在のロケールの LC_CTYPE カテゴリーに依存する。

fopen(3) システムコールに渡す追加の情報がない場合には、 fgetws() が実際にはマルチバイトシーケンスをストリームから読み込み、 これをワイド文字に変換すると期待することは適切である。

この関数は信頼できない。なぜなら、入力に含まれるかもしれない ナルワイド文字を適切に処理することができないからである。

関連項目
fgetwc(3), unlocked_stdio(3)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。