有一个字符串HelloHello
如何提取(即省略)第一个字符,以获得elloHello
?
我已经考虑过.at()
和string[n]
但是它们会返回值并且不会从字符串中删除它
答案 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);
答案 3 :(得分:2)
尝试使用substr()