標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C 改訂 |
両方 | z/OS® V1R7 |
#define _MSE_PROTOS
#include <stdio.h>
#include <wchar.h>
int fwscanf(FILE *__restrict__ stream,
const wchar_t *__restrict__ format, ... );
int swscanf(const wchar_t * __restrict__ wcs,
const wchar_t * __restrict__ format, …);
int wscanf(const wchar_t *__restrict__ format, ... );
#define _OPEN_SYS_UNLOCKED_EXT 1
#include <wchar.h>
int fwscanf_unlocked(FILE *__restrict__ stream,
const wchar_t *__restrict__ format, ... );
int wscanf_unlocked(const wchar_t *__restrict__ format, ... );
#define _XOPEN_SOURCE
#define _MSE_PROTOS
#include <wchar.h>
int swscanf(const wchar_t *wcs, const wchar_t *format, …);
fwscanf()、swscanf()、および wscanf() の各関数は、次に示す点を除いて、それぞれ fscanf()、scanf()、および sscanf() と同等です。
fwscanf_unlocked() ファミリーは、スレッド・セーフでないことを除いて、 機能的に fwscanf() ファミリーと等価です。これらの関数をマルチスレッドのアプリケーション内で安全に使用できるのは、 flockfile() 関数または ftrylockfile() 関数のどちらかへの呼び出しが成功した後のように、 呼び出しスレッドが (FILE*) オブジェクトを所有している間に、これらの関数を呼び出す場合だけです。
XPG4 および swscanf() の特殊な動作: プログラム・ソース・ファイル内の wchar ヘッダーをインクルードするステートメントより前に、XPG4 の動作を指定してフィーチャー・テスト・マクロを定義した場合には、_MSE_PROTOS フィーチャー・テスト・マクロも定義して、プログラムのコンパイル時に使用可能な wchar ヘッダーに swscanf() 関数の宣言を行う必要があります。 XPG4 と他のフィーチャー・テスト・マクロのリストについては、表 1 を参照してください。
正常に実行されると、これらは割り当てられた入力項目数を戻しますが、以前のマッチングが失敗した場合、この数は提供された数より少ないか、0 の場合もあります。変換の前に入力障害が起こった場合は、EOF が戻されます。