首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[]c二进制文件读取出错, 各位帮帮忙, 小弟先谢了

2012-04-01 
[求助]c二进制文件读取出错, 各位帮帮忙, 小弟先谢了!读取一个3ds文件(就当普通2进制文件),fseek到0x5E86

[求助]c二进制文件读取出错, 各位帮帮忙, 小弟先谢了!
读取一个3ds文件(就当普通2进制文件),   fseek到0x5E86位置,   读取一个BYTE可以,   但读取WORD或DWORD就出错(只能读出第一个字节).

尝试从头全部读取为BYTE   或   WORD   或   DWORD,   则只能读取67个BYTE或33个WORD或16个DWORD就提示到达结尾了.

5e80行的数据是:
00005e80:   01   00   00   00   00   40   69   1A     00   00   67   72   61   79   43   6F

小弟先谢过了!

[解决办法]
代码,没代码咋帮你看呢?
[解决办法]
代码 贴出来
估计是
00005e80:这行8个字节
5e86后只剩2个字节了 。。。

[解决办法]
不对 是16字节
还是看代码吧
[解决办法]
呵呵,把文件point移动一下,找一下文件的len
[解决办法]
代码贴出来
[解决办法]
你那个文件为普通位二进制文件。
数据应该是连续的01串吧,每四位看作一个hex数,一行有16字节。
fseek(f, 0x5E86, SEEK_SET);这里的0x5e86是行还是字节 ?

[解决办法]
你的程序在windows?
在windows上,fopen时 "r ", "rb "是有区别的.
如果你用 "r "打开,fseek时,它的位置如何移动在c中没有定义.

你改成 "rb "打开试下.
[解决办法]
你需要判斷 fread是否成功了。
[解决办法]
文件以二进制打开比较稳妥,还要记得关[fclose].

热点排行