【发布时间】:2018-04-03 10:47:34
【问题描述】:
我有这个结构学生记录,我想暂时用两个文件 NamesIDsDataFile 和 MarksDataFile 中的值填充,但是当我运行循环时,只有 NamesIDsDataFile 中的值进入结构。我已将 print 语句放在 while 循环中,以查看问题所在,当我运行代码时,什么也没有打印出来。有人可以解释如何从 MarksDataFile 打印值。
struct StudentRecord {
char FirstNames[MAXLENGTH];
char LastNames[MAXLENGTH];
int IDNums;
int Marks;
};
FILE * NamesIDsDataFile;
FILE * MarksDataFile;
while (fscanf(NamesIDsDataFile,"%s%s%d",&(SRecords.FirstNames[0]),
&(SRecords.LastNames[0]), &(SRecords.IDNums)) != EOF) {
fscanf(MarksDataFile,"%d",&(SRecords.Marks));
printf("%d", SRecords.Marks);
}
fclose(NamesIDsDataFile);
fclose(MarksDataFile);
【问题讨论】:
-
第 1 步:
fscanf(...) != EOF-->fscanf(...) == 3。 2:发布样本输入、输出和预期输出。 -
我假设您在某处打开这些文件?
-
你能展示一下这两个文件的几个示例数据吗?
-
我的回答有帮助你解决吗? :)
标签: c while-loop fopen