2017-03-15 33 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(" ")); 
相关问题