vfprintf_s、_vfprintf_s_l、vfwprintf_s、_vfwprintf_s_lvfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

引数リストへのポインターを使用して、書式付き出力を書き込みます。Write formatted output using a pointer to a list of arguments. これらは、「CRT のセキュリティ機能」の説明にあるとおり、セキュリティが強化されたバージョンの vfprintf、_vfprintf_l、vfwprintf、_vfwprintf_l です。These are versions of vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l with security enhancements as described in Security Features in the CRT.


int vfprintf_s(
   FILE *stream,
   const char *format,
   va_list argptr
int _vfprintf_s_l(
   FILE *stream,
   const char *format,
   locale_t locale,
   va_list argptr
int vfwprintf_s(
   FILE *stream,
   const wchar_t *format,
   va_list argptr
int _vfwprintf_s_l(
   FILE *stream,
   const wchar_t *format,
   locale_t locale,
   va_list argptr


FILE 構造体へのポインター。Pointer to FILE structure.

書式の指定。Format specification.

引数リストへのポインター。Pointer to list of arguments.

使用するロケール。The locale to use.

詳細については、「 printf 関数と wprintf 関数の書式指定フィールド」を参照してください。For more information, see Format Specifications.

戻り値Return Value

vfprintf_svfwprintf_s出力エラーが発生した場合に、終端の null 文字または負の値をしないなど、書き込まれる文字数を返します。vfprintf_s and vfwprintf_s return the number of characters written, not including the terminating null character, or a negative value if an output error occurs. いずれかストリームまたは形式null ポインター、または書式指定文字列に無効な書式指定文字が含まれている場合、無効なパラメーター ハンドラーが呼び出される」の説明に従ってパラメーター検証です。If either stream or format is a null pointer, or if the format string contains invalid formatting characters, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、関数は-1 を返し設定とerrnoEINVALします。If execution is allowed to continue, the functions return -1 and set errno to EINVAL.

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、_sys_nerr」をご覧ください。For information on these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.


これらの各関数、引数リストへのポインターを受け取る書式設定して、特定のデータを書き込みますストリームします。Each of these functions takes a pointer to an argument list, then formats and writes the given data to stream.

これらの関数は、セキュリティで保護されたバージョンを確認することでのみ、保護されていないバージョンとは異なります。、形式文字列に有効な書式指定文字が含まれています。These functions differ from the non-secure versions only in that the secure versions check that the format string contains valid formatting characters.

vfwprintf_sのワイド文字バージョンは、 vfprintf_s; 2 つの関数は、動作、ストリームが ANSI モードで開かれている場合は同じです。vfwprintf_s is the wide-character version of vfprintf_s; the two functions behave identically if the stream is opened in ANSI mode. vfprintf_s UNICODE ストリームへの出力をサポートされていません。vfprintf_s doesn't currently support output into a UNICODE stream.

これらの関数のバージョン、 _l現在のスレッド ロケールの代わりに渡されたロケール パラメーターを使用する点を除いて、サフィックスは同じです。The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.


format にユーザー定義の文字列を指定しないでください。Ensure that format is not a user-defined string. 詳しくは、「 バッファー オーバーランの回避」をご覧ください。For more information, see Avoiding Buffer Overruns.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_vftprintf_s_vftprintf_s vfprintf_svfprintf_s vfprintf_svfprintf_s vfwprintf_svfwprintf_s
_vftprintf_s_l_vftprintf_s_l _vfprintf_s_l_vfprintf_s_l _vfprintf_s_l_vfprintf_s_l _vfwprintf_s_l_vfwprintf_s_l


ルーチンによって返される値Routine 必須ヘッダーRequired header 省略可能なヘッダーOptional headers
vfprintf_s_vfprintf_s_lvfprintf_s, _vfprintf_s_l <stdio.h> および <stdarg.h><stdio.h> and <stdarg.h> <varargs.h>*<varargs.h>*
vfwprintf_s_vfwprintf_s_lvfwprintf_s, _vfwprintf_s_l <stdio.h> または <wchar.h>、および <stdarg.h><stdio.h> or <wchar.h>, and <stdarg.h> <varargs.h>*<varargs.h>*

* UNIX V との互換性用。* Required for UNIX V compatibility.

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.

関連項目See also

ストリーム入出力Stream I/O
vprintf 系関数vprintf Functions
fprintf、_fprintf_l、fwprintf、_fwprintf_lfprintf, _fprintf_l, fwprintf, _fwprintf_l
printf、_printf_l、wprintf、_wprintf_lprintf, _printf_l, wprintf, _wprintf_l
sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_lsprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
va_arg、va_copy、va_end、va_startva_arg, va_copy, va_end, va_start