转换向量<int>到一个字符串
我有一个 vector
容器,其中包含整数(例如 {1,2,3,4}),我想转换为
"1,2,3,4"
在 C++ 中最干净的方法是什么?在 Python 中,我会这样做:
<预><代码>>>>数组 = [1,2,3,4]>>>",".join(map(str,array))'1,2,3,4' 解决方案绝对没有 Python 优雅,但没有什么比 C++ 中的 Python 优雅.
你可以使用 stringstream
...
#include //...std::stringstream ss;for(size_t i = 0; i < v.size(); ++i){如果(我!= 0)ss<<",";ss<
您也可以使用 std::for_each
代替.
I have a vector<int>
container that has integers (e.g. {1,2,3,4}) and I would like to convert to a string of the form
"1,2,3,4"
What is the cleanest way to do that in C++? In Python this is how I would do it:
>>> array = [1,2,3,4]
>>> ",".join(map(str,array))
'1,2,3,4'
解决方案
Definitely not as elegant as Python, but nothing quite is as elegant as Python in C++.
You could use a 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();
You could also make use of std::for_each
instead.
相关文章