CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请大家帮我一些,我急需要解决这个小问题

楼主gtz(风之痕)2003-09-03 12:33:42 在 C/C++ / C语言 提问

我在vc编程中,开始用二进制文件写数据(包括CString   类型的字符串数据),用的是  
  fwrite(&vari,4,1,fp)语句,然后以后我要用到该文件中的数据时,再读出该数据,其中读出的字符串总是不对,我用的语句是:fread(&vari,4,1,fp),不知是什么缘故,特别是我还想把该二进制文件随时追加数据,我用的是fp=fopen("tt","wb"),追加之后,再打开该文件后,读取的字符串数据也不对,请知道,能否帮我解决这个问题?不胜感激! 问题点数:0、回复次数:4Top

1 楼steedhorse(晨星)回复于 2003-09-03 12:39:44 得分 0

不要使用fwrite,fread读写类中的数据,你明白CString的结构吗?可能他本身并不包含字符串数据本身,而知是包含一个指向存储字符串的缓冲区地址。还有,CString对象中还有个虚函数表指针,它怎么可以直接保存到文件中,然后下次再读出呢?  
   
  你的做法是语言C语言中针对struct的,C++中的类和struct比C里的struct复杂得多,所以不要这么用。Top

2 楼steedhorse(晨星)回复于 2003-09-03 12:41:33 得分 0

纠正:其实C中的struct也不是都可以这样,比如说struct中含有指针变量的话,使用fwrite、fread读写就非常不妥。Top

3 楼gtz(风之痕)回复于 2003-09-03 12:47:17 得分 0

真的很谢谢你!因为我用vc编程主要是写算法的,我就是对fwrite和fread比较熟悉,我是直接定义了一个字符串变量,然后把该变量写入文件中,然后再打开文件,读出该文件位置处的值。如果你有其他更好的办法,能否告知!  
  Top

4 楼gtz(风之痕)回复于 2003-09-03 12:57:53 得分 0

这段程序是这样的;  
  ////写数据////////////////////////  
  CString   cProjName   =   _T("test");  
  CString   cProjLoc     =   _T("e:\\tt\\");  
  CFile   File;  
  if   (IDfile   ==   FALSE)  
  {  
  CreateDirectory(_T("c:\\SeisOP"),NULL);  
  File.Open(   "c:\\SeisOP\\SeisOP.sys",CFile::modeCreate|CFile::modeWrite,   NULL);  
  File.SeekToBegin();  
  File.Write(&cProjName,4);  
  File.Write(&cProjLoc,4);  
  }  
  File.Close();  
   
  CString   cProjName;  
  CFile   file;  
  file.Open(   "c:\\SeisOP\\SeisOP.sys",CFile::modeRead|CFile::shareExclusive   ,   NULL   );  
  file.SeekToBegin();  
  for   (int   i   =   0;   i<   nProjNms;   i++)  
  {  
  file.Read(&cProjName,4);  
  file.Seek(4,CFile::current);  
  cProjName   =   _T("");  
  }  
  file.Close();  
  Top

相关问题

  • ★★★★★急需急需--请大家帮忙★★★★★★
  • 急需帮忙!
  • 急需帮助
  • 急需帮助
  • 急需帮助
  • ★★★★★★急需,请朋友们帮忙★★★★★★
  • 急需各位高手帮忙,请问....
  • 急需解决的问题,请帮忙!
  • 急需帮助,用BCB做串口通信,请大家帮帮忙!!!(提供一些API函数的资料)
  • 急需一个模版,请那位大虾帮帮忙?

关键词

  • 文件
  • 数据
  • null
  • seisop
  • 字符串
  • cprojname
  • 读出
  • cfile
  • 变量
  • fwrite

得分解答快速导航

  • 帖主:gtz

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

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