c++ - 如何将 vector<int> 转换为字符串?

标签 c++ stl

我正在尝试将值从 C++ 传递到 TCL。由于不使用一些复杂的模块就无法传递指针,因此我正在考虑将 vector 转换为 char 数组,然后将其作为空终止字符串传递(这相对容易)。

我有一个 vector 如下:

12, 32, 42, 84  

我想转换成类似的东西:

"12 32 42 48"

我正在考虑的方法是使用迭代器遍历 vector ,然后将每个整数转换为其字符串表示形式,然后将其添加到 char 数组中(最初通过传递 vector 的大小动态创建) .这是正确的方法还是有一个功能已经这样做了?

最佳答案

怎么样:

std::stringstream result;
std::copy(my_vector.begin(), my_vector.end(), std::ostream_iterator<int>(result, " "));

然后你可以从 result.str().c_str()

传递指针

关于c++ - 如何将 vector<int> 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518979/

相关文章:

c++ - 如何从 STL 容器中按子字符串删除元素

c# - 将 STL/C++/CLI 容器传递给 .Net

c++ - 如何让 char[] 与 std::map 一起工作

c++ - const_iterators 更快吗?

c++ - 这是测试两条线是否共线的正确方法吗?

c++ - 模板特化导致 undefined reference 错误

c++ - (C++) std::istringstream 从字符串读取最多 6 位数字到 double

c++ - matlab mex 文件和 C++ dll (windows)

c++ - 转置结构容器

c++ - 设计一个只有 1 个可能实例的类/类型 - C++