2013-11-10 45 views
0

删除单词以开始:获取字符串的第一个字,并从实际字符串

string str = "10110111 12345 54321 2345321 1236543"; 

抓住了第一个字10110111,并从实际的字符串删除。 获得在string word;字后新的字符串应该是:

string str = "12345 54321 2345321 1236543"; 

我使用的stringstream的获得了这个词。

stringstream ss(str); 
string word; 
ss>> word; 

现在应该如何从字符串中删除这个单词?

+0

http://en.cppreference.com/w/cpp/string/basic_string/erase –

+0

我有不同长度的话,上字符擦除作品。如何指定这个词? –

+0

一个字只是一些字符是不是? –

回答

0

我的第一个想法是找到第一个空间的位置和子串你的字符串。

std::string s("1234 asdf zxcv 0987"); 
std::cout << s << std::endl; // "1234 asdf zxcv 0987" 

size_t space_pos = s.find(" ");  
if (space_pos != std::string::npos) { 
    s = s.substr(space_pos + 1); 
} 

std::cout << s << std::endl; // "asdf zxcv 0987" 
+0

错误:'space_pos'未命名类型 –

+0

'auto'是在C++ 11标准中引入的。我编辑了代码,以便与以前的标准兼容。 – igleyy

+0

@shahjahankhokher:'auto'来自C++ 11。如果你不使用C++ 11模式,那么这样做;如果你的编译器不支持C++ 11,那就去做一个。 –

相关问题