seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XXXVI: stdio.h: vscanf ファミリー / wchar.h: vwscanf ファミリー (1999/12/27 [])
 stdio.h ヘッダに新たに vscanf ファミリー が追加されました。これは、今まで printf の方にはあって、どうして scanf の方には無かったんだろうと、多くの人が思っていたであろう、vscanf, vsscanf, vfscanf といった、va_list を引数に持つ scanf 関係の関数のことです。処理系によっては、始めからこれらの関数を独自のライブラリとして提供していたところも多かったかもしれません。

vscanf
名前int vscanf(const char * restrict format, va_list arg);
ヘッダstdio.h
引数format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説scanf の可変長引数部分を va_list に変更した版。標準入力からの入力を format に従い解析して arg に格納する。


vsscanf
名前int vsscanf(const char * restrict s, const char * restrict format, va_list arg);
ヘッダstdio.h
引数s:入力バッファ
format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説sscanf の可変長引数部分を va_list に変更した版。文字列 s からの入力を format に従い解析して arg に格納する。


vfscanf
名前int vfscanf(FILE * restrict fp, const char * restrict format, va_list arg);
ヘッダstdio.h
引数fp:入力ファイルポインタ
format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説fscanf の可変長引数部分を va_list に変更した版。ストリーム fp からの入力を format に従い解析して arg に格納する。

 同じく wchar.h にワイド文字列バージョン vwscanf, vswscanf, vfwscanf 関数も追加されました。
vwscanf
名前int vwscanf(const wchar_t * restrict format, va_list arg);
ヘッダwchar.h
引数format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説wscanf の可変長引数部分を va_list に変更した版。標準入力からの入力を format に従い解析して arg に格納する。


vswscanf
名前int vswscanf(const wchar_t * restrict s, const wchar_t * restrict format, va_list arg);
ヘッダwchar.h
引数s:入力バッファ
format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説swscanf の可変長引数部分を va_list に変更した版。文字列 s からの入力を format に従い解析して arg に格納する。


vfwscanf
名前int vfwscanf(FILE * restrict fp, const wchar_t * restrict format, va_list arg);
ヘッダwchar.h
引数fp:入力ファイルポインタ
format:書式
arg:書式で指定した型の値を格納するためのオブジェクトを指す va_list の値
戻値変換した値の個数。0 かもしれない。入力エラーの場合 EOF を返す。
解説fwscanf の可変長引数部分を va_list に変更した版。ストリーム fp からの入力を format に従い解析して arg に格納する。

 また前回の内容を一部アップデートしました。


by seclan | コメント (0) | トラックバック (0)

コメント

 コメントできる期間はすでに過ぎています。


トラックバック

 トラックバックできる期間はすでに過ぎています。


| |

 

配信

29.86 msec