2014-04-06 39 views
1

我正在使用fwrite函数将二进制值写入文件。但我得到的是,当我写这都是大于1个字节的数字,它正常,但以相反的顺序写入每个字节的一个问题,一些例子:fwrite写入反向数字字节顺序

fwrite(fid,3,'int32'); 

写入文件03 00 00 00,而不是00 00 00 03

fwrite (fid,5076,'int32'); 

写入文件D4 13 00 00而不是00 00 13 D4

如何使函数按正确的顺序写入字节?

回答

2

您应该使用本机格式参数和痘痘端开关(86 proccessor(INTEL AMD默认值我想)到大端

http://en.wikipedia.org/wiki/Endianness明白什么ENDIANESS意味着 编辑:

在你给你必须把

fwrite(fileID, A, precision, skip, machineformat) // replace machine format by 'b' 

你的情况的链接:

fwrite(fid,3,'int32',0,'b');