エラー メッセージやその他の動的テキストの形式をカスタマイズする場合、可変数の引数を printf または sprintf に渡す必要があります。スプリント。この問題に対処するには、次のようなカスタマイズされた解決策を検討してください。
重要なのは、可変数の引数を取る vfprintf 関数を呼び出すことにあります。以下に、その使用法を示すコード スニペットを示します。
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
このコードでは、vfprintf はフォーマットされたテキストを stderr に出力します。あるいは、vsnprintf を使用して出力を文字列で保存することもできます。 vsprintf はバッファ オーバーフローの影響を受けやすいため、使用しないことを念頭に置いてください。
以上が変数引数を printf および sprintf に安全に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。