c语言文件操作求助!!读取指定路径文件时出现问题
源码如下程序代码:
#include<stdio.h> #include<stdlib.h> #define size 3 struct Stu_type { char name[10]; int num; }stu[size]; void save() { FILE *fp; int i; char addr[60]; printf("请输入文件保存地址\n"); scanf("%s",addr); if((fp=fopen(addr,"wb"))==NULL)//输入地址时双“\”或单“\”都可。不区分文件名大小写 { printf("无法打开文件!\n"); exit(0); } for(i=0;i<size;i++) { if(fwrite(&stu[i],sizeof(struct Stu_type),1,fp)!=1)//sizeof()求字节长度 {printf("文件写入错误!\n");exit(0);} }printf("数据输入成功!\n"); fclose(fp); } void read() { FILE *fp1; char addr1[60]; int i; printf("请输入要读取的文件的路径:\n"); scanf("%s",addr1); if((fp1=fopen(addr1,"rb"))==NULL) {printf("文件写入错误!\n");exit(0);} for(i=0;i<size;i++) { if(fread(&stu[i],sizeof(struct Stu_type),1,fp1)!=1) {printf("文件读取错误!\n");exit(0);} printf("%s %d\n",stu[i].name,stu[i].num); }printf("数据读取成功!\n"); fclose(fp1); } int main() { int i;//定义i局部变量控制循环 printf("请输入学生信息:姓名,学号\n"); for(i=0;i<size;i++) { scanf("%s,%d\n",stu[i].name,&stu[i].num);//输入数据时用“,”隔开 } save(); read(); return 0; }
先在指定路径建立一个文件,将数据输入其中,然后有read函数读取输出内容
执行如下:
请输入学生信息:姓名,学号
小明,11
小红,12
小熊,13
请输入文件保存地址
d:\text\text.txt
数据输入成功!
请输入要读取的文件的路径:
d:\text\text.txt
小明,11 0【问题所在,多出一个0】
小红,12 0【问题所在,多出一个0】
小熊,13 0【问题所在,多出一个0】
数据读取成功!
Press any key to continue
望指点!!!!