CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

有关文件读与写的问题,求教于各位

楼主jindayu(Idislikework)2003-02-02 17:05:59 在 VC/MFC / 基础类 提问

是这样的,  
  我想要在EXE文件尾部插入数据,使其运行后能得到,原理应该很简单,但实施时遇到了一些困难:  
  1.发现EXE文件运行后不能读取自身:  
   
  CFile   file;  
  file.open(__argv[0],CFile::moderead);  
  .....  
  可每次都失败,file.h_file总是表示为打开失败。  
   
  2.读数据也时发现不能直接得到  
  不读取自身,读取其他文件,得到的数据不准确:  
  while   (file.GetLength()>=file.GetPosition()+10000)  
  {  
  file.HugeRead(buf,10000);  
  str+=buf;  
  }  
  file.HugeRead(buf,file.GetLength()-file.GetPosition());  
  发现,每次应读10000个字节,实际上str却每次增加10003个字节的内容。  
  可能是我读取的方式有误,请问有没有解决的方法?  
   
  这两个问题使我的程序无法继续,希望大家能尽量帮助我,谢谢。 问题点数:100、回复次数:5Top

1 楼Dai_Weis()回复于 2003-02-02 18:01:48 得分 25

我看到有一办法你先创建一个副本程序并把控制权交给副本运行,然后就可以对已经退出运行的执行文件修改了  
  关于读取问题,有些时候你无法保证当前的指针一定在同一个位置,使用seek函数对指针进行移动,我正在写的软件有大量的文件操作还没有发现这样的问题.Top

2 楼AthlonxpX86(一坨屎)回复于 2003-02-02 18:14:05 得分 25

CFile类中好像没有HugeRead吧,是ReadHuge吧,建议不要用他,32位程序中已经废除了他,用read就可以啊Top

3 楼jindayu(Idislikework)回复于 2003-02-02 21:54:43 得分 0

没有其他方法的话我会用DaiWeis()所说的方法,请问还有没有其他方法,可以避开再建一个文件?Top

4 楼Richuen22(Vista)回复于 2003-02-03 00:53:27 得分 50

先试一下这样,看再有没有后面的问题出现,若有就说一声。  
  file.open(__argv[0],CFile::modeRead   |   CFile::shareDenyNone   );Top

5 楼jindayu(Idislikework)回复于 2003-02-03 01:10:21 得分 0

太好了!  
  试用file.open(__argv[0],CFile::modeRead   |   CFile::shareDenyNone   );  
  运行后也可以打开。  
  谢谢Dai_Weis(),AthlonxpX86(一滴水)与Richuen22(劲深蓝)   !  
  Top

相关问题

  • 有关文件读写
  • 有关ASP对文件的操作!!!各位高手请进!!!
  • 各位进来看看有关与dll文件的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 文件的有关操作,请各位指教!
  • 有关文件浏览的问题,请各位高手指教
  • 有关文件读取的问题!
  • 有关文件的读写问题。
  • 有关文件读入的问题。
  • 有关读文件的问题
  • 有关大文件的读取!

关键词

  • 文件
  • 数据
  • hugeread
  • cfile
  • 读取
  • moderead
  • 运行
  • 问题
  • 程序
  • 方法

得分解答快速导航

  • 帖主:jindayu
  • Dai_Weis
  • AthlonxpX86
  • Richuen22

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo