英語版
このページの英語版を見る
dmd.chkformat
printf とscanf の引数をformat の文字列と照合する。
Authors:
License:
ソース chkformat.d
ドキュメンテーション https://dlang.org/phobos/dmd_chkformat.html
- bool
checkPrintfFormat
(const ref Locloc
, scope const char[]format
, scope Expression[]args
, boolisVa_list
, ErrorSinkeSink
); - printfフォーマット文字列の引数が、その文字列と互換性があることを確認する。 をチェックする。互換性がない場合はエラーを出す。printfのC99仕様に従う。 互換性については、厳格というよりむしろ寛大な見方をする。 例えば、符号なし値を符号付き指定子でフォーマットすることができる。 診断された非互換性は以下の通りである:
- 引数のズレを引き起こす互換性のないサイズ
- ポインタでない引数をディファレンシングする
- 引数の数が足りない
- 構造体引数
- 配列とスライス引数
- s 、ポインタ以外の引数を指定する。
- 非標準フォーマット
- C99での未定義の動作:
Parameters:Loc loc
エラーメッセージの場所 char[] format
フォーマット文字列 Expression[] args
フォーマット文字列とマッチする引数 bool isVa_list
v 関数の場合(フォーマットチェックのみ) ErrorSink eSink
エラーメッセージの場所 Returns:true エラーが発生した場合参考文献 C99 7.19.6.1 https://www.cplusplus.com/reference/cstdio/printf/
- bool
checkScanfFormat
(const ref Locloc
, scope const char[]format
, scope Expression[]args
, boolisVa_list
, ErrorSinkeSink
); - scanfフォーマット文字列の引数が、その文字列と互換性があるかチェックする。 チェックする。互換性がない場合はエラーを出す。scanf の C99 仕様に従う。 互換性については、厳密というよりむしろ寛大な見方をする。 例えば、符号なし値を符号付き指定子でフォーマットすることができる。 診断された非互換性は以下の通りである:
- 引数のズレを引き起こす互換性のないサイズ
- ポインタでない引数をディファレンシングする
- 引数の数が足りない
- 構造体引数
- 配列とスライス引数
- 非標準フォーマット
- C99による未定義の動作:
Parameters:Loc loc
エラーメッセージの場所 char[] format
フォーマット文字列 Expression[] args
フォーマット文字列にマッチする引数 bool isVa_list
v 関数の場合(フォーマットチェックのみ) ErrorSink eSink
エラーメッセージの場所 Returns:true エラーが発生した場合参考文献 C99 7.19.6.2 https://www.cplusplus.com/reference/cstdio/scanf/
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku