【发布时间】:2021-12-17 09:58:25
【问题描述】:
我正在学习 C++,并且在处理文件时遇到了一些困难。这是我正在尝试做的一个小练习。该程序旨在从文件中读取并将其设置为适当的变量。文本文件是这样的:
阿达拉·斯塔尔 94
大卫·斯塔尔 91
索菲亚·斯塔尔 94
玛丽亚·斯塔尔 91
丹妮尔 DeFino 94
#include <fstream>
#include <iostream>
using namespace std;
const int MAXNAME = 20;
int main()
{
ifstream inData;
inData.open("grades.txt");
char name[MAXNAME + 1]; // holds student name
float average; // holds student average
inData.get(name, MAXNAME + 1);
while (inData)
{
inData >> average;
cout << name << "has an average of " << average << endl;
//I'm supposed to write something here
}
return 0;
}
当我尝试运行代码时,只有第一行被读取并显示,然后程序结束。更具体地说,输出是
Adara Starr has an average of 94
Adara Starr has an average of 0
如何从 txt 文件中读取下一行?我也用while (inData >> average) 代替了 inData 条件,但它也做了同样的事情,减去第二个“Adara Starr 的平均值为 0”
【问题讨论】: