我有一个应该通过字符串流读取输入文件的程序。该文件包含学生姓名,以及我想要测试的平均分数。该文件可以包含任意数量的大于1且小于10的学生的任何数量的测试分数。如何做一个for循环在C++中的字符串流读取的值?
如果我通过字符串流读取文件中的所有值,如何将每个测试分数值存储为整数,我可以将它们相加?这里是我到目前为止的代码,我不知道甚至是正确的:
string fname, lname, line;
getline(cin, line);
istringstream sin;
sin.str(line);
sin >> fname >> lname;
这是通过值解析的正确方法吗?在顶部,我宣布了一个struct'student',像这样:
struct student {
string first_name;
string last_name;
double avg_score;
} student1;
谢谢!
为什么不使用'cin >> fname >> lname;'?它做同样的事情。 – NathanOliver
如果你显示了更多的代码,并且你可以指向你不知道该怎么做的行,那么帮助你会更容易。请阅读[mcve] – user463035818
@NathanOliver:我想这是因为一行可以包含任意数量的分数;所以我也会分别阅读每一行,因为它更清楚地表明每一行都被视为一个单独的“记录”。 –