各位大侠,能帮我看看这个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 展开
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 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询