|
![]() | 作者: none [onizuka]
![]() |
登录 |
fwrite(&user,sizeof(struct usr),4,fp); 之后,我打开文件,发现里面全是乱码,为什么呢? |
地主 发表时间: 05/11 16:14 |
![]() | 回复: god__devil [god__devil] ![]() |
登录 |
因为它和你打开的方式不一样,C里有两种打开文件的方式,那文件保存时可能和你打开时的方式不一样。两种方式分别是二进制和ASCIL。 |
B1层 发表时间: 05/11 17:38 |
![]() | 回复: top [top] ![]() |
登录 |
那该怎么写才不是乱码呢? |
B2层 发表时间: 05/12 13:02 |
![]() | 回复: 山鸡 [duck_chen] ![]() |
登录 |
很简单,因为你错了,还有上面那个人给你在乱说,结构体是不允许整体调用的,你不能够对一个结构体整体赋值,知道吗? |
B3层 发表时间: 05/14 02:00 |
![]() | 回复: ricky [ricky] ![]() |
登录 |
上面的二位都有点对,你要写结构到文件,必须用fopen(filename,"wb"); 否则,系统会在单独的0A后面加上0D,所以第一位说的有可能,然后,你的这个语句有点问题,除非你是写一个该结构的数组,否则,应该是 fwrite(&usr,sizeof(usr),1,hfile); 你一下写了4个结构的长度,文件里当然有乱码了。 不知道是不是这种情况,因为你没有说你是怎么看文件的 |
B4层 发表时间: 05/16 16:10 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号