「Androidは電気羊の夢を見るか」を読みたい管理者のブログ

仕事などでの色々な発見を記事にしてます。不定期更新。

stdライブラリで変数を文字列にしたい

#include
#include
#include

using namespace std;

int main() {
int a=5;
ostringstream stream;
stream << "a=" << a;
string ss = stream.str();
cout << '[' << ss << ']' << endl;
}

これをcharの配列にしてfputsとかするには

fputs(stream.str().c_str(),fp);

とかすればいい。
stream.str()でstd::string型を返すからstd::stringクラスのc_str()を呼べばchar型配列になる。
C#なら

string s1 = string.Format("{0}円の商品を{1}個買う", 1000, 12);
書式を指定して数値を文字列に変換する: .NET Tips: C#, VB.NET

で簡単に出来るのになぁ。
あ、やばい。C#忘れかけてる。

参考:

oshiete.goo.ne.jp