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
望指点!!!!









