char 配列について質問があります。'"1"+lapcounter+":"+seconds' という形式で、char 配列にする必要があります。この配列をこのフォームに入力するにはどうすればよいですか?
ありがとう
文字列にフォーマットしたい数値変数があることを意味している場合は、そのために文字列ストリームを使用します。
std::stringstream ss;
ss << "1" << lapcounter << ":" << seconds";
これで、そこから文字列を抽出できます。
std::string s = ss.str();
何らかの理由で本当に文字配列が必要な場合 (これは必要ないと思います)
char const * cs = s.c_str();
sprintf
、またはを使用しsnprintf
ます。この関数は同様に機能しますprintf
が、標準出力の代わりに、指定した char 配列に出力されます。例えば:
char buffer[32];
snprintf(buffer, sizeof(buffer), "1%d:%d", lapcounter, seconds);
to_string
は次のように使用されます。
#include <iostream>
#include <string>
int main()
{
int lapcounter = 23;
std::string str("1");
str.append(std::to_string(lapcounter ));
str.append(":seconds");
std::cout << str << std::endl;
}
版画
123:seconds
本当にchar配列が必要な場合は、それを取得しますss.c_str()