25

从 a 转换为 a 的最佳方法是std::array<char, N>什么std::string

我尝试过制作模板方法,但没有运气。我认为我的 C++ 技能还达不到标准。在 C++ 中有没有一种惯用的方式来做到这一点?

4

2 回答 2

43

我不会说这是“最好的方法”,但一种方法是使用std::string迭代器构造函数

std::array<char, 10> arr;
... // fill in arr
std::string str(std::begin(arr), std::end(arr));
于 2012-06-05T15:38:11.903 回答
19

如果数组中有一个以空字符结尾的字符串,那么:

std::array<char, 4> arr = {'a','b','c',0};
std::string str(arr.data());
于 2013-10-26T16:14:44.330 回答