1. ホーム
  2. c++

[解決済み] vector<int> を文字列に変換する。

2022-11-12 11:02:38

質問

私は vector<int> コンテナに整数値 (例: {1,2,3,4}) が格納されており、これを以下のような形式の文字列に変換したいと思います。

"1,2,3,4"

C++でそれを行うための最もクリーンな方法は何ですか? Pythonではこのようにします。

>>> array = [1,2,3,4]
>>> ",".join(map(str,array))
'1,2,3,4'

どのように解決するのですか?

Pythonほどエレガントではありませんが、C++でPythonほどエレガントなものはないでしょう。

を使うことができます。 stringstream ...

#include <sstream>
//...

std::stringstream ss;
for(size_t i = 0; i < v.size(); ++i)
{
  if(i != 0)
    ss << ",";
  ss << v[i];
}
std::string s = ss.str();

を利用することもできます。 std::for_each を代わりに使うこともできます。