我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:神州彩票 > 二进制文件 >

在VC60中读取二进制文件

归档日期:05-31       文本归类:二进制文件      文章编辑:爱尚语录

  二进制文件的读写通常而且很实用的方法是使用结构(体)先构造文件中一条记录的结构,再逐条读/写.在VC5.0中,一直存在一个小小的弊病---如果你使用MFC则它要求结构(体)成员比特位对齐为8位,而且你无法方便的通过选中Project-$#@62;Setting-$#@62;C/C++选项卡中的Code Generation再修改Struct member alignment来使其变为1位(即使改变了,在你编译时该改变也会被忽略).

  当然如果你的二进制文件是在WINDOWS下创建的,并且只在WINDOWS下读写,这种影响并不明显.但如果很不巧,你需要与DOS共同读写一个在DOS下创建的二进制文件时,它带来的麻烦会让你哭笑不得,尤其是你的结构中各个成员的数据类型不同时(就更别提为节省空间使用位域后的文件了),结构的长度不再是你所期望的值,原本的数据在读出时变的乱七八糟,而你写进去的记录,在DOS下读取时同样只能让你盯着屏幕发呆.

  为了能将结构成员的对齐位降至1位,你可能已经做了很多努力,比如将二进制文件的读写全部转移到一个基于API的DLL中,而只要求DLL返回执行结果,或者干脆使用VC5.0编写一个基于API的WINDOWS的程序,也许你已经成功了,但是付出的代价也是令同行钦佩的.

  现在好了,VC6.0的推出让苦日子成为过去了.在VC6.0中,结构成员的对齐位可以方便的降至1位!!读写二进制文件的灰暗时代终于过去了!!!

  * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

  更多

  COMPUTEX 2019:英特尔的“Touch Bar”以及双屏笔记本

  玛格南摄影师Alessandra Sanguinetti大师工作坊&公开课招募中!

本文链接:http://runhappyplace.com/erjinzhiwenjian/239.html