我有一个像这样的字符数组
char ch[] = "This is a char array";
我想创建一个从索引 n 到索引 j 的新字符串,例如
string str = stringFromChar(ch, 0, 5); //str = 'This'
最佳答案
您可以使用 std::string
的构造函数这需要两个迭代器。
std::string str(std::begin(ch), std::next(std::begin(ch), 5));
在更一般的情况下,您可以将 std::next
用于开始和结束迭代器,以从数组的任意切片生成字符串。
我更喜欢在适用时使用 C++ 标准库,但我知道您可以使用指针运算来做同样的事情。
std::string str(ch, ch+5);
关于C++ 从 char 数组的索引创建新字符串的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331507/