zhucde (虚拟闲人) 的博客

OGRE,FLY3D, 图形开发, 一起探讨吧.QQ超级群(500人):186898914 QQ群(200人):23806843
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用CFile类读取大文件

Posted on 2008-11-25 10:13  zhucde  阅读(513)  评论(0编辑  收藏  举报
随着Windows 2000和XP的普及,现在的大文件越来越多,而VC6中MFC的CFile类只支持不大于4GB的文件, 原因在于CFile类中 使用了32位整型来处理文件,32位数的范围是2的32次方(4GB),超过这个范围的文件CFile就管不了,微软.Net中VC7的CFile类支持 大于4GB的文件,而.Net还不普及,开发桌面应用VC6还是首选,所以我们可以参照VC7写一个CFile的继承类CFile64,使它支持大于 4GB的文件: 
class CFile64 : public CFile{public:// AttributesULONGLONG GetPosition();// Overridablesvirtual ULONGLONG Seek(LONGLONG lOff, UINT nFrom);virtual void SetLength(ULONGLONG dwNewLen);ULONGLONG GetLength() ;virtual void LockRange(ULONGLONG dwPos, ULONGLONG dwCount);vir