所以我试着环顾四周,但找不到答案。我正在尝试从我在不同程序中编写的文件中读取。写它工作正常,但是当我尝试阅读它时,根本没有输出。这是代码。
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 语言,大部分都是自学的
最佳答案
fscanf(fopen, "%d:\t%d\t%d\t%d\n"
我不知道它是如何编译的,但是您正在传递一个函数指针,其中需要 FILE*
。这肯定无法正常工作。
要传递的正确内容是您的 fopen()
调用的返回值(目前您已将其丢弃)。
关于c - 用 C 读取文件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337303/