淝水之战文言文答案:关于C语言中的 文件

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 08:43:51
#include <stdio.h>
typedef struct xie
{int num;
char ti[400];
}TK;
void tiku();

main()
{ TK x[15];
FILE *fp;
int i,j;
tiku();
fp=fopen("tikuce.txt","r"); /*测试开始,打印题目*/
fread(x,sizeof(TK),1,fp);
puts(x);
fclose(fp);
}

void tiku()
{TK p[16];
int i;
char *d[16];
FILE *fp;
fp=fopen("tikuce.txt","w");

d[1]=":The result of the following program is:()\n int a=5,b=5;\n a%= b+=a +=(a+b)\n printf(\"a=%d,b=%d\",a,b);\n A:a=15,b=20; B:a=10,b=20; C:a=15,b=25; D:a=25,b=15; ";
for(i=1;i<=1;i++)
{p[i].num=i;
strcpy(p[i].ti,d[i]);
fprintf(fp,"%3d",p[i].num);
fputs(d[i],fp);
}
fclose(fp);
}

为什么在读取文件时,x[0].num不是我存的题号1,而是8224呢?而且1并到了x[0].ti中去了,为什么?

你放数据用 fputs
拿数据用 fread
这俩不配对

如果你用fputs就用fgets取
或者用fwrite 和 fread这一对

试试fp=fopen("tikuce.txt","rb"); 与p=fopen("tikuce.txt","wb");