急问~急问~~~文件用十六进制表示时,00表示什么?为何fread时,读到00就结束了?

seaxw 2003-09-11 02:58:05
文件中还有00,我还可用什么方法从这个文件读内容?
...全文
241 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
weibz0525 2003-09-12
  • 打赏
  • 举报
回复
第一句fseek(fp,0,1)你把指针放到当前指针位置上,你知道当前指针在哪吗?
如果从文件头开始应该是SEEK_SET,
dxdw 2003-09-12
  • 打赏
  • 举报
回复
我试了,用fgets也不行
weibz0525 2003-09-12
  • 打赏
  • 举报
回复
fread(buffer,size,count,fp);
你把1和endPos-curPos调换一下位置,再试试
seaxw 2003-09-12
  • 打赏
  • 举报
回复
急啊,各位来帮帮忙!
seaxw 2003-09-12
  • 打赏
  • 举报
回复
好象是hh 00,hh>80就读不出了。
seaxw 2003-09-12
  • 打赏
  • 举报
回复
程序:fseek(fp,0,1);
long curPos=ftell(fp);
fseek(fp,0,SEEK_END);
long endPos=ftell(fp);
fseek(fp,curPos, SEEK_SET);
str= new char[endPos-curPos];
fread(str,1,endPos-curPos,fp);
fp: ...A3 94 00 21 BF CF...
每次读到00处就停止了
一鹿由妳 2021-07-05
  • 举报
回复
@seaxw 我现在也遇到这个问题了,请问您是怎么解决的呢?
GeoPhoenix 2003-09-12
  • 打赏
  • 举报
回复
不会存在这个问题,文件的结束标志和00,肯定不一样,否则二进制数据中,00,岂不全是文件结尾了?你最好将读数据这段代码贴上来,大伙给你看看
seaxw 2003-09-12
  • 打赏
  • 举报
回复
我是用二进制方式打开的文件!
yesry 2003-09-11
  • 打赏
  • 举报
回复
fopen("fadfdfadfad",".....?????.....");//打开方式应该使用b.就是二进制。
seaxw 2003-09-11
  • 打赏
  • 举报
回复
up!!!
seaxw 2003-09-11
  • 打赏
  • 举报
回复
up!

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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