1

申し訳ありませんが、これは本当に基本的なことですが、適切な方法で検索する方法がわからないので、ここに行きます。MessageBoxA を呼び出そうとしていますが、メッセージで '%s' を別のものに置き換えたいと思っています。例:

MessageBoxA(0, TEXT("You have %s items"), "title", 0);

誰でも私を助けることができますか?繰り返しになりますが、これは本当に基本的なことです。申し訳ありません。

4

4 に答える 4

0

を使用しboost::formatます。

あなたの例では:MessageBoxA(0, (boost::format("You have %1 items") % "title").c_str(), 0);

利点の 1 つは、これらすべての%sコードを覚える必要がなくなったことです。もう 1 つは、組み込みフラグのセットに制限されなくなったことです。

は C++ ではなく C インターフェイスであり、C++ 文字列を C 文字列に変換するため、( ).c_str()が必要です。MessageBoxAc_str()

于 2013-09-18T20:31:40.197 に答える