fgetws(3) ワイド文字の文字列を 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 を返す。

準拠

C99, POSIX.1-2001.

注意

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

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

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

この文書について

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