-1

我有一个似乎很简单的问题,但我似乎无法解决这个问题......

我有一个字符串,可以调用它"HELLOWORLD",并且我有一个从我所做的其他工作中生成的数字,可以说它是4

如何返回第一个 ( "HELL") 并保持第二个 ( "OWORLD") 继续工作?

4

2 回答 2

4

如果您已经有了要拆分的索引,那么最简单的方法是使用带有两个迭代器的字符串构造函数:

std::string original = "HELLOWORLD";

std::size_t index = 4;
std::string::iterator it = original.begin();

std::string part1(it, it + index);
std::string part2(it + index, original.end());
于 2013-03-25T19:47:24.083 回答
1

你试过了吗:

#include <string>
...

string thing = "HELLOWORLD";

thing.substr(0, 4);    // => "HELL"

substr方法(来自string库)将字符串从第一个索引返回到(但不包括)传递给它的第二个索引。

更新

我在理解你想要做的事情时遇到了一些麻烦。如果要获取字符串的结尾(即"OWORLD"),可以执行以下操作:

thing.substr(4, thing.length())   // => "OWORLD"

这从第 4 个索引(包括)到第 N 个索引(不包括)。

于 2013-03-25T19:46:59.330 回答