C ++ - 以字符串形式读取文本文件,然后将字符串拆分为向量

时间:2017-03-15 02:18:06

标签: c++ string class vector

假设“grades.txt”的内容为:

    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 :(得分:0)

你可以试试boost :: split。 例如:

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