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/
に書かれている。