sdqdydj
驱动牛犊
驱动牛犊
  • 注册日期2005-03-12
  • 最后登录2005-12-07
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1089回复:3

关于文件读写的问题

楼主#
更多 发布于:2005-04-12 19:58
参照网上的例子来做的,但是读出来总是这样((株)),实际写入的是一些字母,但是无论写什么读出来的结果都一样,请教大家问题出在那里?

CFile    IniFile;
CString  strCombine;
CString  strIniPath = L\"\\\\HardDisk\\\\aaa.TXT\";

////打开文件
if(! IniFile.Open(strIniPath, CFile::modeRead))
{
     MessageBox(_T(\"文件打开失败\"));
}
///判断文件是否为空
if(IniFile.GetLength() == 0)
{
     IniFile.Close();
     MessageBox(_T(\"文件空\"));
}
///读出文件所有数据到缓冲区
else
{
     WCHAR  *pBuf;
     pBuf = new WCHAR[IniFile.GetLength() / 2 + 1];  
     if(pBuf == NULL)
     {
         IniFile.Close();
     }
if(IniFile.Read(pBuf, IniFile.GetLength()) != File.GetLength())
  {
  //delete[]  pBuf;
   IniFile.Close();
}
pBuf[IniFile.GetLength() / 2] = NULL;
strCombine.GetBuffer(MAX_LEN);   ///先创建大的缓冲区
strCombine = pBuf;
m_edit1.SetWindowText(strCombine);
delete[]   pBuf;

[编辑 -  4/12/05 by  sdqdydj]

最新喜欢:

keta0123keta01...
sdqdydj
驱动牛犊
驱动牛犊
  • 注册日期2005-03-12
  • 最后登录2005-12-07
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-13 09:59
请施援手,非常感谢!
dstboxu
驱动小牛
驱动小牛
  • 注册日期2004-06-28
  • 最后登录2011-02-15
  • 粉丝0
  • 关注0
  • 积分109分
  • 威望976点
  • 贡献值1点
  • 好评度143点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-13 10:44
我怀疑strCombine构造的不对
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-13 14:18
解决方法一:strCombine = (char *)pBuf;
解决方法二:打开aaa.txt,另存为UNICODE格式的文件。
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
游客

返回顶部