書式指定構文: printf 関数と wprintf 関数
printf、wprintfおよび関連する関数にファイル形式の文字列引数の構文について説明します。これらの関数のセキュリティを強化したバージョンがあります。; 詳細については、CRT のセキュリティ機能を参照してください。個々の関数については、特定の機能のドキュメントを参照してください。これらの関数の一覧については、ストリーム入出力を参照してください。
オプションのと必須フィールドで構成されるファイル形式仕様に次の二つの形式があります:
% [フラグ] [幅] [.精度] [{h | l | ll | w | I | I32 |I64}] 型
ファイル形式仕様の各フィールドには、文字または特定のファイル形式オプションまたは変換の指定子を示す数値です。type の必須の文字は、引数に適用する変換の種類を指定します。省略可能な flags、widthと precision のフィールド コントロールの追加のファイル形式の要素。基本書式指定は、文字列変換を指定する例文字のパーセント記号と type のみ、%s含まれています。パーセント記号がファイル形式フィールド、文字を出力にそのままコピーと意味のない文字が続く場合。符号文字を印刷するには、%%を使用します。
ファイル形式仕様のフィールドは、引数の変換と形式の次の側面を制御します:
type
関連する argument は、文字列、整数、浮動小数点数として解釈するかどうかを調べる必要な変換の指定子の文字。詳細については、「printf 関数の型フィールド文字」を参照してください。flags
署名では、先行ゼロ、小数点と 8、および 16 進数のプレフィックスの出力の位置合わせこの出力を制御するオプションの文字。詳細については、「フラグ ディレクティブ」を参照してください。複数のフラグはファイル形式仕様に表示されるフラグは、任意の順序でも指定できます。width
出力された文字の最小数を指定する省略可能な 10 進数。詳細については、「printf 関数の文字幅指定」を参照してください。precision
有効桁の文字列、数値または浮動小数点値の 10 使用する小数点文字の後に数字の数に出力された文字の最大数を指定する省略可能な 10 進数、または整数値に印刷される桁数。詳細については、"方法 精度指定) の精度値の型" を参照してください。h | l | ll | w | I | I32 | I64
対応する引数のサイズを指定する type への省略可能なプレフィックス。詳細については、"サイズ" サイズ指定) にを前置することを参照してください。
セキュリティに関するメモ |
---|
ファイル形式仕様の文字列がユーザー定義でないことを確認します。たとえば、ユーザーが名前を入力するよう求める検討し、nameという名前の文字列変数で入力をプログラムを格納します。nameを印刷するには、これを実行しないでください: printf( name ); /* Danger! If name contains "%s", program will crash */ 代わりに、これをする: printf( "%s", name ); |
参照
関連項目
printf、_printf_l、wprintf、_wprintf_l