名前 | 形式 | 機能説明 | 戻り値 | エラー | 属性 | 関連項目
#include <stdio.h> include <widec.h>wchar_t *getws(wchar_t *ws);
#include <stdio.h> include <wchar.h>wchar_t *fgetws(wchar_t *restrict ws, int n, FILE *restrict stream);
getws() 関数は、標準入力ストリーム stdin から文字列を読み取り、それをワイド文字に変換し、ws が指す配列に書き込みます。この動作は、復帰改行文字が読み取られて変換され、ws に送られるまで、またはファイルの終端状態になるまで続けられます。ワイド文字列 ws は、ワイド文字コードの NULL 文字で終了します。
fgetws() 関数は、stream から文字を読み取り、それをワイド文字に変換し、ws が指す wchar_t 配列に書き込みます。この動作は、n–1 文字まで読み取られるか、復帰改行文字が読み取られて変換され、ws に送られるまで、またはファイルの終端状態になるまで続けられます。ワイド文字列 ws は、ワイド文字コードの NULL 文字で終了します。
エラーが発生すると、ストリームに対するファイル指示子の戻り値が仲介になります。
fgetws() 関数は、stream に関連づけられているファイルの st_atime フィールドに、更新のマークを付けます。fgetc(3C)、fgets(3C)、fgetwc(3C)、fgetws()、fread(3C)、fscanf(3C)、getc(3C)、getchar(3C)、gets(3C)、scanf(3C) の実行が最初に成功したときに、直前の ungetc(3C) または ungetwc(3C) への呼び出しによって与えられたものではないデータを返す stream を使用して、st_atime フィールドに更新のマークが付けられます。
getws() および fgetws() は、実行が成功すると ws を返します。ストリームがファイルの終端である場合、そのストリームについてファイル終端を示す指示子が設定され、fgetws() 関数が NULL ポインタを返します。標準に準拠するアプリケーションの場合 (standards(5) を参照)、ストリーム用の EOF 指示子が設定されると、ストリームが EOF にあるかどうかにかかわらず、fgetws() はヌルポインタを返します。読み取りエラーが発生した場合、ストリームに対してエラー指示子が設定され、fgetws() が NULL ポインタを返し、エラーを示す errno を設定します。
fgetws() が失敗する状態については、fgetwc(3C) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
MT レベル | MT-Safe |
インタフェースの安定性 | fgetws() が標準 |