如果我有一个整数向量(std :: vector),有一种简单的方法可以将向量中的所有内容转换为char数组(char []),因此(1,2,3)->('1','2' ,'3')
这是我尝试过的,但是不起作用:
std::vector<int> v;
for(int i = 1; i < 10; i++){
v.push_back(i);
}
char *a = &v[0];
最佳答案
std::transform
是适合该工作的工具:
std::vector<int> iv {1, 2, 3, 4, 5, 6};
char ca[10] {};
using std::begin;
using std::end;
std::transform(begin(iv), end(iv), begin(ca), [](int i) { return '0' + i; });
如果不需要
ca
作为C样式的数组,我建议使用std::array
或std::vector
代替。后者需要std::back_inserter(ca)
代替begin(ca)
。关于c++ - 从std::vector <int>转换为char [] C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37484796/