2012-11-08 72 views
0

這可能很容易,但不知道如何。我試圖搜索多個網站,是的谷歌,並找不到任何關於此。從向量中讀取字符串,直到C++中的空白爲止

我的矢量result[0]看起來像這樣

A3 * * B4 * * 

宣言

vector<string> result = v.formVectorFile("Prj3 Config.txt");  

我知道cin讀取,直到空白,所以我試圖用這個來弄明白。 如果我直接從fstream讀取,我可以閱讀直到空白,但即時嘗試使用向量中的字符串和result[0] >> s;類似的東西做到這一點顯然不工作。

我需要閱讀,直到它遇到一個空白,然後閱讀下一個直到空白。等...... 自己提取A3。操作,然後提取*等...

+1

你需要顯示一些代碼,你已經嘗試了什麼,等等。這個問題必須有很多解決方案。 – rutgersmike

+0

至少向我們展示'result'的聲明? –

+0

http://mattgemmell.com/2008/12/08/what-have-you-tried/ – Caribou

回答

2

您的問題不清楚,因爲您沒有準確地告訴我們result是什麼。

如果我們可以假設resultstd::vector<std::string>,那麼你可以做這樣的事情:

std::istringstream iss(result[0]); // consider only first string in vector 
std::string item; 
while(iss >> item) { 
    std::cout << "I found: " << item << "\n"; 
} 

如果我們假設resultstd::vector<char>,那麼你可以這樣做:

std::string s(result.begin(), result.end()); // consider entire vector as single string 
std::istringstream iss(s); 
while(iss >> item) { 
    std::cout << "I found: " << item << "\n"; 
} 
+0

謝謝搶劫。這正是我想要做的。即使新的,但不知道std :: istringstream。謝謝。 – TheNodeCommode

相關問題