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

标签 c++ arrays string indexing char

我有一个像这样的字符数组

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));

Working demo

在更一般的情况下,您可以将 std::next 用于开始和结束迭代器,以从数组的任意切片生成字符串。

我更喜欢在适用时使用 C++ 标准库,但我知道您可以使用指针运算来做同样的事情。

std::string str(ch, ch+5);

关于C++ 从 char 数组的索引创建新字符串的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331507/

相关文章:

c++ - 通过 C++ 中的非静态函数设置对 C 函数指针的回调

python - 什么决定了 numpy 数组的数据类型

java - 如何从数组列表中删除元素?

JavaScript 检查对象数组,结果本应为 true,但结果却为 false

java - 如何为字符串数组获取 10 个随机字符串?

c++ - QPlainTextEdit/QTextCursor - 如何获取光标上方和下方的行直到上方和下方为空行

C++ 制定特定目标

c++ - 智能指针的意外行为

c - C字符串在内存中的表示和比较

java - 如何修改 String[] 内的元素,该元素位于另一个 Arraylist 内的 Arraylist 内