2010-12-04 41 views
4

如何才能讀取第一個新的「標記」(標準非空白字符序列,由操作符>>精確提取)流?我可以提取字符串,檢查是否需要放回,並重置內部流迭代器?我想這可能工作,但不知道如何實現它?stringstream :: operator >>只能讀取,不能從流中提取下一個標記

例子:

#include <string> 
    using std::string; 
#include <sstream> 
    using std::stringstream; 

int main() 
{ 
    string s("test string \\ bla blie"); 
    stringstream ss(s); 

    string token; 
    while(ss >> token) 
    { 
     if("\\" == token) 
      break; 
     else 
      cout << "Token is: " << token << "\n"; 
    } 
    return 0; 
} 

說一個tellg這裏seekg工作前和流提取後有條件地?

謝謝!

回答

4

tellg和seekg會在提取流之前有條件地工作嗎?

是的。

+0

所有,正確,實施,它的工作原理。 Dang,C++功能強大:D。感謝您的信任。如果任何人想要實現,請請求一個簡化的例子(我的代碼是相當以類爲中心的,這意味着所有變量都非常離散化,所以我不能複製粘貼代碼。 – rubenvb 2010-12-04 20:11:25

相關問題