次の方法で共有


_scprintf_p、_scprintf_p_l、_scwprintf_p、_scwprintf_p_l

書式指定文字列の文字数を返し、書式指定文字列でパラメーターを使用する順序を指定します。

int _scprintf_p(
   const char *format [,
   argument] ... 
);
int _scprintf_p_l(
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _scwprintf_p (
   const wchar_t *format [,
   argument] ... 
);
int _scwprintf_p _l(
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

パラメーター

  • format
    書式指定文字列。

  • argument
    省略可能な引数。

  • locale
    使用するロケール。

戻り値

指定されている書式指定文字列を使用して、文字列を出力するかファイルまたはバッファーに送る場合は、出力される文字数を返します。 返される値には、終端の NULL 文字は含まれません。 ワイド文字の場合は、_scwprintf_p が同じ機能を実行します。

_scprintf_p と _scprintf の違いは、_scprintf_p では位置指定パラメーターをサポートし、これによって、書式指定文字列で引数を使用する順序を指定できることです。 詳細については、「printf_p の位置指定パラメーター」を参照してください。

format が NULL ポインターの場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、これらの関数は -1 を返し、errno を EINVAL に設定します。

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

各 argument (指定されている場合) は、format 中の対応する書式指定に従って変換されます。 format は通常の文字で構成し、その形式と機能は printf 関数の format と同じです。

_l サフィックスが付いているこれらの関数の各バージョンは、現在のスレッド ロケールの代わりに渡されたロケール パラメーターを使用する点を除いて同じです。

セキュリティに関するメモセキュリティに関するメモ

format にユーザー定義の文字列を指定しないでください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_sctprintf_p

_scprintf_p

_scprintf_p

_scwprintf_p

_sctprintf_p_l

_scprintf_p_l

_scprintf_p_l

_scwprintf_p_l

必要条件

ルーチン

必須ヘッダー

_scprintf_p, _scprintf_p_l

<stdio.h>

_scwprintf_p, _scwprintf_p_l

<stdio.h> または <wchar.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

参照

参照

ストリーム入出力

_scprintf、_scprintf_l、_scwprintf、_scwprintf_l

_printf_p、_printf_p_l、_wprintf_p、_wprintf_p_l