hur.cn - 华软网

 热门搜索

CStdioFile读取文件的问题

  作者:未知    来源:网络    更新时间:2011/8/12
我在读取文件时遇到一个问题:当文件a中是用unicode写的,内容如下:
/sdcard/test1.txt
/sdcard/test2.txt
然后我在使用CStdioFile.ReadString读取时候就出问题了,因为ReadString是按行读取,而a文件中内容第一个“/”实际上是“/0”,也就是也就结束符。所以我读取出来的内容都是"/"
想了好久不知道怎么读取,请问又没能帮帮忙
---华软 网友回答---
来个人帮忙丫·谢谢
---华软网友回复---
写文件时,要把宽字符转换成多字节
读时,再把多字节转换成宽字符
---华软网友回复---
同意

不过在这里我建议不要用unicode了,2次转换太麻烦了吧。


引用 2 楼 ouyh12345 的回复:
写文件时,要把宽字符转换成多字节
读时,再把多字节转换成宽字符

---华软网友回复---
CString strtemp = _T("");
SFile.ReadString(strtemp);
我用ReadString读unicode文本都没问题啊?
---华软网友回复---
 ReadString前先调用setlocale( LC_CTYPE, ("chs"));
设置环境为中文
---华软网友回复---
C++">try
{
CFile file(_T("F:\\11.txt"), CFile::modeRead);
wchar_t* buf = NULL;
DWORD len = file.GetLength();
buf = new wchar_t[len+1];
wmemset(buf, 0, len+1);
file.Seek(2, file.begin);
file.Read(buf, len);
file.Close();

AfxMessageBox(CString(buf));
delete[] buf;
buf = NULL;
}
catch (CFileException* e)
{
e->ReportError();
e->Delete();
}

---华软网友回复---
这是我的文章,自己去看吧。
http://www.docin.com/p-119955986.html      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。