各位大侠,能帮我看看这个c语言编程的代码吗?

#include<stdio.h>structstu{charname[10];intnum;intage;floatscore;}boya[2],boyb[2],*pa... #include<stdio.h>

struct stu{
char name[10];
int num;
int age;
float score;
}boya[2], boyb[2], *pa, *pb;

int main(){
FILE *fp;
char ch;
int i;
pa = boya;
pb = boyb;
if( (fp=fopen("d:\\demo.txt", "wb+")) == NULL ){
printf("Cannot open file, press any key to exit!\n");
getch();
exit(1);
}

//从键盘输入数据
printf("Input data:\n");
for(i=0; i<2; i++,pa++)
scanf("%s %d %d %f",pa->name, &pa->num,&pa->age, &pa->score);
//将数组 boya 的数据写入文件
pa = boya;
fwrite(pa, sizeof(struct stu), 2, fp);
//将文件指针重置到文件开头
rewind(fp);
//从文件读取数据并保存到数据 boyb
fread(pb, sizeof(struct stu), 2, fp);

//输出数组 boyb 中的数据
for(i=0; i<2; i++,pb++)
printf("%s\t%d\t%d\t%f\n", pb->name, pb->num, pb->age, pb->score);
fclose(fp);
return 0;
}

这个程序哪儿出了问题,为什么输出会是乱码?我也建立了这个文件,但是。。。。输出到对应的文件后,是乱码。。。。谢谢解答
刚才忘了说了,输入的内容是
Input data:
Tom 2 15 90.5↙
Hua 1 14 99↙
Tom 2 15 90.500000
Hua 1 14 99.000000
展开
 我来答
小志8554
推荐于2016-07-30 · TA获得超过1058个赞
知道小有建树答主
回答量:1198
采纳率:25%
帮助的人:312万
展开全部
这样写生成的是二进制文件。如果要以我们可以看懂的方式显示,需要自己构建字符串,fwrite传入的第一个参数是字符串指针,而不是结构体指针
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式