把文件中信息对应的存到结构体里怎么用C语言写出来?

2025-04-24 21:48:55
推荐回答(1个)
回答1:

总体写得不错,问题出在你的
fscanf和fprintf函数参数传递错误了
123456789101112131415161718192021222324252627282930313233343536 #include "stdio.h"#include "stdlib.h"struct s{ int id; char name[10]; int co1; int co2; int co3; int co4;};int main(){ int i=0,count; struct s st[10]; char fname[10],ch; FILE *infile,*outfile; printf("please input data file name:\n"); scanf("%s",fname); infile=fopen(fname,"r"); outfile=fopen("output.txt","w"); if(infile==NULL) { printf("\nFailed to open the file"); exit(1); } fscanf(infile,"%d",&count); while(i首先,你的name是结构体中的字符数组,fscanf要传入的应该是存储字符的地址,所以直接是数组名name就行

第二,fprintf你要写入文件的数据,应该是真正的数据本身,不是数据的地址,所以应该将变量前的取地址符全去掉就好,

第三,注意加好换行符\n