int i = 4520 应该是: 00 00 11 a8 我用fwrite(&i,sizeof(int),1,file)将它写入到一个文件里,可是文件打开后却是:a8 11 00 00 为

john1980 2002-04-09 09:18:27

int j = 0;
fread(&j,sizeof(int),1,stream);
此时的j应该是 4520,怎么会是 0 呢?
好像将i写入道文件时,顺序反了

由 00 00 11 a8 变成了 a8 11 00 00
为什么?
...全文
36 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
emmai 2002-04-09
  • 打赏
  • 举报
回复
用过FPE的人,绝对不会问这个问题
quengzi 2002-04-09
  • 打赏
  • 举报
回复
通过选中"Project->Setting->C/C++"选项卡中的"Code Generation"再修改"Struct member alignment"来使其变为1位........
再次尝试。。。。
zzq_fortu 2002-04-09
  • 打赏
  • 举报
回复
同意jishiping(JSP)
john1980 2002-04-09
  • 打赏
  • 举报
回复
我发现读的时候:
int i = fread(&format,sizeof(int),1,stream);

i的值是0
也就是说没有读入一个字节。
一般是怎么回事?
jishiping 2002-04-09
  • 打赏
  • 举报
回复
int i = 4520 应该是: 00 00 11 a8
这是我们写的次序,实际在内存里存放的次序是 a8 11 00 00,就是说低位
在前,高位在后,和我们写的次序刚好相反。计算机有个术语,这叫Little
Endian。PC机的CPU(Intel, AMD)采用的都是Little Endian。而对于苹果机
(Mac)而言,数字在内存里存放的次序和我们写的顺序是一样的,这叫做 Big
Endian。
quengzi 2002-04-09
  • 打赏
  • 举报
回复
多写几个看看结果:
fwrite(&i,sizeof(int),8,file)
john1980 2002-04-09
  • 打赏
  • 举报
回复
我读出来就是o
我用断点看了变量的值
搞的我头都大了
john1980 2002-04-09
  • 打赏
  • 举报
回复
我是用vc打开发现那个位置的:a8 11 00 00
john1980 2002-04-09
  • 打赏
  • 举报
回复
我是用二进制打开的

怎么解决呀?

我现在想fread(&j,sizeof(int),1,stream);
时,j 的值就是正确的 4520
我还有一个的的结构数组,
myStruct pS = new 100*sizeof(myStruct);
给ps的内存单元赋值 ~~~~~~~~~~~~~
然后fwrite(pS,sizeof(myStruct),100,file)
myStruct pP= new 100*sizeof(myStruct);
然后在读入fread(pP,sizeof(myStruct),100,file)
那么pP和pS所指的内存单元是不是一样的?难道由反了?
dingkl 2002-04-09
  • 打赏
  • 举报
回复
Windows低字节放在高位,直接读出来还是4520
CollNight 2002-04-09
  • 打赏
  • 举报
回复
这是大小结尾的问题啊 ,读的时候注意一下就可以了 !
我不是大明 2002-04-09
  • 打赏
  • 举报
回复
你读的内容不是你写进去的
看看你有没有seek 对!
lizmei001 2002-04-09
  • 打赏
  • 举报
回复
:)
yrj 2002-04-09
  • 打赏
  • 举报
回复
当然这样了,低字节放在高位呀。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧