2

有一个字符串HelloHello,我如何提取(即省略)第一个字符elloHello

我已经想到了.at()string[n]但是他们返回了值并且不从字符串中删除它

4

4 回答 4

7
#include <iostream>
#include <string>

int main(int,char**)
{
  std::string x = "HelloHello";
  x.erase(x.begin());
  std::cout << x << "\n";
  return 0;
}

印刷

elloHello
于 2013-03-26T14:29:20.317 回答
3

利用erase

std::string str ("HelloHello");

str.erase (0,1);  // Removes 1 characters starting at 0.

// ... or

str.erase(str.begin());
于 2013-03-26T14:29:49.270 回答
3

您应该使用子字符串。第一个参数表示起始位置。第二个参数string::npos表示您希望新字符串包含从指定开始位置到字符串结尾的所有字符。

std::string shorterString = hellohello.substr(1,  std::string::npos); 

http://www.cplusplus.com/reference/string/string/substr/

于 2013-03-26T14:30:00.243 回答
2

尝试使用 substr()

参考:http ://www.cplusplus.com/reference/string/string/substr/

于 2013-03-26T14:29:29.523 回答