C ++ - 将文本文件作为字符串读取,然后将字符串拆分为向量
Posted
技术标签:
【中文标题】C ++ - 将文本文件作为字符串读取,然后将字符串拆分为向量【英文标题】:C++ - Read a text file in as a string of words, then split the string into a vector 【发布时间】:2017-03-15 02:18:05 【问题描述】:假设“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;
;
【问题讨论】:
解决问题,google cpp 参考问题。能够将文件读入字符串,使用 readline 函数,然后解析字符串以查找空格,剪切值,将每个学生的成绩存储在一个数组中。从头到尾逐步开发程序,即构建->测试->改进。没有理由从数据结构开始,从打开文件、读取值、分解它们开始,然后研究如何存储它们。迭代开发:在每个程序迭代中,您在处理中实现一个额外的阶段,让它工作,然后添加下一步。 【参考方案1】:你可以试试 boost::split。 例如:
//split strFileBuffer with space and get the string vector.
string strFileBuffer;
vector<string> strs;
boost::split(strs, strFileBuffer,boost::is_any_of(" "));
【讨论】:
以上是关于C ++ - 将文本文件作为字符串读取,然后将字符串拆分为向量的主要内容,如果未能解决你的问题,请参考以下文章