0

我知道我可以将字符数组转换为std::string使用:string str(array);

但问题是:可以参与其中并转换为字符串吗?(例如,前 15 个字符)

顺便说一句,我的数组是在堆栈上定义的。

谢谢。

4

2 回答 2

7

您使用带有两个迭代器的构造函数(指针,数组衰减到,模型随机访问迭代器):

std::string str(array, array+15);

这样,您可以获取数组的任何部分,而不仅仅是前 15 个字符。

于 2013-10-08T19:54:48.900 回答
0

如果您有一个char数组,请使用std::string的构造函数,它需要 2 个迭代器:

std::string str(arr, arr + 15);

如果您已经有一个实例std::string,请使用std::string::substr

std::string str("my long string full of words");
std::cout << "'" << str.substr(0,15) << "'";

输出:'my long string '

于 2013-10-08T19:53:33.300 回答