有一个字符串HelloHello
,我如何提取(即省略)第一个字符elloHello
?
我已经想到了.at()
,string[n]
但是他们返回了值并且不从字符串中删除它
#include <iostream>
#include <string>
int main(int,char**)
{
std::string x = "HelloHello";
x.erase(x.begin());
std::cout << x << "\n";
return 0;
}
印刷
elloHello
利用erase
std::string str ("HelloHello");
str.erase (0,1); // Removes 1 characters starting at 0.
// ... or
str.erase(str.begin());
您应该使用子字符串。第一个参数表示起始位置。第二个参数string::npos
表示您希望新字符串包含从指定开始位置到字符串结尾的所有字符。
std::string shorterString = hellohello.substr(1, std::string::npos);
尝试使用 substr()
参考:http ://www.cplusplus.com/reference/string/string/substr/