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 を返す。
C99, POSIX.1-2001.
fgetws()
の動作は、現在のロケールの
LC_CTYPE
カテゴリに依存する。
fopen(3)
システムコールに渡す追加の情報がない場合には、
fgetws()
が実際にはマルチバイトシーケンスをストリームから読み込み、
これをワイド文字に変換すると期待することは適切である。
この関数は信頼できない。なぜなら、入力に含まれるかもしれない
ナルワイド文字を適切に処理することができないからである。
関連項目¶
fgetwc(3),
unlocked_stdio(3)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。