2013-03-25 48 views
-1

我有什么似乎是一个很简单的问题,但我似乎无法换我的头周围的问题...歇/分流/解压缩串入部分

我有一个字符串可以称之为"HELLOWORLD",和我有一个从一些其他的工作我做的生成的数字,让我们说,这是4

如何返回第一个("HELL"),并维持第二("OWORLD")上下工夫?

+0

['标准:: string'(HTTP:/ /encppreference.com/w/cpp/string/basic_string),['find()'](http://en.cppreference.com/w/cpp/string/basic_string/find),['substr() '](http://en.cppreference.com/w/cpp/string/basic_string/substr)。 – 2013-03-25 19:44:31

+0

我在C++工作,我想返回第一个和维护第二个工作。 – TheHad 2013-03-25 19:45:04

+0

一般而言,您应该将当前的代码包含在这样的问题中......并告诉它的作用,以及它与您想要的不同之处。 – hyde 2013-03-25 19:51:00

回答

1

你尝试:

#include <string> 
... 

string thing = "HELLOWORLD"; 

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

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

UPDATE

我有一些麻烦,正是理解你想做的事情。如果你想要得到的字符串(即"OWORLD")的年底,你可以这样做:

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

这看起来从第4个指数(包含性),以第N指数(独家)。

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