所以我试着环顾四周,但我找不到答案。我试图从我在不同程序中编写的文件中读取。写它工作正常,但当我尝试阅读它时,根本没有输出。这是代码。
struct data{
int tp, gpm, deg;
};
int main()
{
struct data list[21];
int p[21];
list[0].tp = 10;
FILE * fout;
fopen("data_list", "r");
for(int i = 0; i < 21; i++){
fscanf(fopen, "%d:\t%d\t%d\t%d\n", &p[i], &list[i].tp, &list[i].gpm, &list[i].deg);
}
for(int i = 0; i < 21; i++){
printf("%d:\t%d\t%d\t%d\n", p[i], list[i].tp, list[i].gpm, list[i].deg);
}
fclose(fout);
return 0;
}
这是我试图阅读的文件
-10:651 17 108
-9: 514 16 142
-8: 588 16 169
-7: 542 10 160
-6: 531 17 127
-5: 688 15 158
-4: 619 18 122
-3: 658 14 170
-2: 588 11 182
-1: 541 12 139
+0: 641 19 114
+1: 668 17 200
+2: 517 19 157
+3: 589 13 121
+4: 696 13 140
+5: 526 12 157
+6: 630 12 137
+7: 685 11 105
+8: 556 11 120
+9: 645 15 188
+10:624 19 185
任何人都可以帮助我吗?我只学了几个月的C,其中大部分都是自我嘲笑的
答案 0 :(得分:4)
fscanf(fopen, "%d:\t%d\t%d\t%d\n"
我不知道怎么可能甚至编译,但你传递的函数指针需要FILE*
。这肯定无法正常工作。
通过该fopen()
电话的正确回复价值(此时您已放弃)。