从字符串中提取char

时间:2013-03-26 14:27:01

标签: c++ string

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

我已经考虑过.at()string[n]但是它们会返回值并且不会从字符串中删除它

4 个答案:

答案 0 :(得分:7)

#include <iostream>
#include <string>

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

打印

elloHello

答案 1 :(得分:3)

使用erase

std::string str ("HelloHello");

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

// ... or

str.erase(str.begin());

答案 2 :(得分:3)

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

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

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

答案 3 :(得分:2)