C++从char数组索引创建新字符串的最佳方法?

3 c++ arrays string indexing char

我有一个chars数组

char ch[] = "This is a char array";
Run Code Online (Sandbox Code Playgroud)

我希望从索引n到索引j创建一个新字符串,用于ie

string str = stringFromChar(ch, 0, 5); //str = 'This'
Run Code Online (Sandbox Code Playgroud)

Cor*_*mer 6

你可以使用构造函数来std::string获取两个迭代器.

std::string str(std::begin(ch), std::next(std::begin(ch), 5));
Run Code Online (Sandbox Code Playgroud)

工作演示

在更一般的情况下,您可以使用std::next开始和结束迭代器从数组的任意切片创建一个字符串.

我更喜欢在适用的时候使用C++标准库,但是知道你可以用指针算法做同样的事情.

std::string str(ch, ch+5);
Run Code Online (Sandbox Code Playgroud)