C语言,我先写了一个程序将信息写入文件,然后关掉空间,重新写了一个程序读取文件信息!为什么读不了

#include<stdio.h>//写入信息的程序!#include<stdlib.h>#defineN3typedefstructstudent{charname[2... #include<stdio.h>//写入信息的程序!
#include<stdlib.h>
#define N 3
typedef struct student
{
char name[20];
char address[20];
int age;
int num;
}type;
type s[N];
void save()
{
FILE*fp;
int i;
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<N;i++)
if(fwrite(&s[i],sizeof(type),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void main()
{
int i;
printf("please enter data of students:\n");
for(i=0;i<N;i++)
scanf("%s%d%d%s",s[i].name,&s[i].age,&s[i].num,s[i].address);
save();
}
读入信息的文件!
#include<stdio.h>
#include<stdlib.h>
#define N 3
typedef struct student
{
char name[20];
int age;
int num;
char address[20];
}type;
type s[N];
void main()
{
FILE*fp;
int i;
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("cannot open\n");
exit(0);
}
for(i=0;i<N;i++)
{
fread(&s[i],sizeof(type),1,fp);
printf("%-10s%4d%4d%-15s\n",s[i].name,s[i].age,s[i].num,s[i].address);
}
fclose(fp);
}
展开
 我来答
匿名用户
2015-01-03
展开全部
stu.dat 如果在系统盘或者盘满了,可能会被限制。
改成其它盘。
d:\\stu.txt
追问

我中间输入的不是数字为什么读出来会是数字?

下面是读的内容:

百度网友a71159286
2015-01-03 · 超过22用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:44.1万
展开全部
加一下文件的路径试试
追问
读是能读了!可是和我输入的时候的信息不完全一样!如上!中间全是数字!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式