[解決済み] printf/sprintf に可変個数の引数を渡すには?
2023-04-21 18:39:27
質問
いくつかのテキストをフォーマットする "error"関数を保持するクラスを持っています。 私は、可変数の引数を受け入れ、printfを使用してそれらをフォーマットしたいと思います。
例
class MyClass
{
public:
void Error(const char* format, ...);
};
Errorメソッドはパラメータを受け取り、printf/sprintfを呼び出してフォーマットし、そしてそれを使って何かをする必要があります。 私はすべてのフォーマットを自分で書きたくないので、既存のフォーマットを使用する方法を見つけ出そうとすることは理にかなっています。
どのように解決するのですか?
void Error(const char* format, ...)
{
va_list argptr;
va_start(argptr, format);
vfprintf(stderr, format, argptr);
va_end(argptr);
}
表示する前に文字列を操作したい場合、どうしてもバッファに保存しておく必要がある場合は
vsnprintf
の代わりに
vsprintf
.
vsnprintf
とすることで、偶発的なバッファオーバーフローエラーを防ぐことができます。
関連
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された
-
[解決済み] printf ファミリーを使用して、size_t 変数をポータブルに印刷するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語で "unsigned long "をprintfする方法は?
-
[解決済み] C++で引数の数が可変?
-
[解決済み] 引数を可変個数でまわす
-
[解決済み】Javaで変数引数を持つメソッドに引数として配列を渡すことはできますか?
-
[解決済み】fprintf、printf、sprintfの違い?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】構造体のベクター初期化について
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] C++で引数の数が可変?
-
[解決済み] 引数を可変個数でまわす
-
[解決済み] 変数引数リストを受け取る別の関数への変数引数の渡し方