| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:版主帮忙看看。这个程序哪里定义错误
只看楼主 加入收藏
saysaysay
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-18
收藏
 问题点数:0 回复次数:5 
版主帮忙看看。这个程序哪里定义错误
#include<stdio.h>
struct student
{char name[20];
int num;
float score;
};
struct student stu[2]={{"xiaoli",01,89},{"xiaozhng",02,88}};

void save()
{FILE *fp;
 int i;
 fp=fopen("C:\\1.txt","wb");
 for(i=0;i<2;i++)
  {fwrite(&stu[i],sizeof(struct student),1,fp);
  }
 fclose(fp);
}
void main()
{save();
}

输出到1.txt文件中的结果总是乱码,只有名字也就是字母可以正确输出

[[it] 本帖最后由 saysaysay 于 2008-6-28 12:09 编辑 [/it]]
搜索更多相关主题的帖子: 定义 版主 
2008-06-28 10:49
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
你用fwrite写入的是二进制数据,不是ASCII码数据,当然是乱码了。
你可以用fprintf函数来把ASCII码数据写入文件。
其实是乱码也有他的好处,你想啊,如果你做一个文件,都是明码那别人什么都知道了。为了文件的保密性,一般都用fwrite写入乱码来防止他人看到文件内容。
其实乱码数据比明码数据占用的磁盘空间更少

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-28 11:01
yuyiyunpiao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-28
收藏
得分:0 
char[20] 没有定义字符串的名字
float score应该是一个数组的
float score【2】
2008-06-28 11:42
阿戴
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-12-31
收藏
得分:0 
经测试,你的原代码有4个错误
2008-06-28 11:49
saysaysay
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-18
收藏
得分:0 
不好意思,发帖的时候没有认真看清楚就发了,写快了
2008-06-28 11:57
saysaysay
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-18
收藏
得分:0 
谢谢各位的回答,终于是有人回答了
2008-06-28 12:02
快速回复:版主帮忙看看。这个程序哪里定义错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022703 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved