2013-03-26 25 views
2

拥有一个字符串HelloHello如何提取(即省略)第一个字符,使其具有elloHello从字符串中提取char

我想过的.at()string[n],但他们返回的值,并没有从字符串中删除

+1

是什么类型的字符串? char *或std :: string? – emsr 2013-03-26 14:29:21

回答

7
#include <iostream> 
#include <string> 

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

打印

elloHello 
+0

什么是这个运算符称为::? – 2013-03-26 15:00:17

+1

@SaraKholusi:这是范围解析运算符。 – 2013-03-26 15:22:17

3

使用erase

std::string str ("HelloHello"); 

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

// ... or 

str.erase(str.begin()); 
3

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

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

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