阅读:1089回复:3
关于文件读写的问题
参照网上的例子来做的,但是读出来总是这样((株)),实际写入的是一些字母,但是无论写什么读出来的结果都一样,请教大家问题出在那里?
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] |
|
最新喜欢:keta01... |
沙发#
发布于:2005-04-13 09:59
请施援手,非常感谢!
|
|
板凳#
发布于:2005-04-13 10:44
我怀疑strCombine构造的不对
|
|
地板#
发布于:2005-04-13 14:18
解决方法一:strCombine = (char *)pBuf;
解决方法二:打开aaa.txt,另存为UNICODE格式的文件。 |
|
|