2017-03-15 34 views
-2

假設的「grades.txt」的內容是:C++ - 讀取文本文件中作爲單詞的字符串,則字符串分割成一個矢量

David 99 94 95 
    Mike 91 84 
    John 100 85 
    Lexa 76 88 90 74 85 76 
    Paul 83 95 
    Ryan 71 72 85 
    Tommy 95 96 
    Joseph 100 83 85 86 
    Denise 100 90 76 
    Ava 80 90 

該文件的第一行是由指示每個學生的名字。之後的前幾行是每個學生成績的隨機集合。

我的問題是關於如何將文件讀入字符串並將字符串拆分爲矢量,以便我可以將每個元素組織到我班學生的正確位置。如果有更簡單的方法來完成這一點,我也會很感激。感謝您提供的任何幫助。

這裏是我班的學生:

class Students { 
    public: 
     Students(); 
     ~Students(); 

    private: 
     string name; 
     int grades; 
    }; 
+1

你到目前爲止嘗試過什麼? –

+0

向你自己解釋你的班級學生將如何存儲數據;你還應該閱讀[如何調試小程序](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。 –

+0

突破問題,谷歌cpp引用的問題。能夠將文件讀入字符串,使用readline函數,然後解析字符串以找到空格,剪切值,並將每個學生的成績存儲在數組中。從開始到結束逐步開發程序,即構建 - >測試 - >改進。沒有理由從一個數據結構開始,從打開文件,讀取值,分解開始,然後研究如何存儲它們。迭代開發:在每個程序迭代中,你在處理中實現一個額外的階段,得到這個工作,然後添加下一步。 –

回答

0

你可以嘗試提高::分裂。 例如:

//split strFileBuffer with space and get the string vector. 
string strFileBuffer; 
vector<string> strs; 
boost::split(strs, strFileBuffer,boost::is_any_of(" ")); 
相關問題