CString str;
CFile file;
if (!file.Open("hello.txt",CFile::modeRead,NULL))
{
MessageBox("filed to open file");
}
CArchive ar(&file,CArchive::load);
while(ar.ReadString(str))
{
MessageBox(str);
}
但是我发在VS2010中,如是用CArchive::WriteString写的文件,用ReadString可以正常读出,但是文件用记事本打开是乱码?为什么 会这样,字符集???我该怎么处理,我想在VS2010中用CArchive读文本文件
2 个解决方案
#1
VS2010默认的UNICODE,并不是多字节,而在VC6下默认的就是多字节,所以你看看是不是工程的字符集的问题
#2
恩,我也发现了。VC2010使用的是UNICODE字符!不使用UNICODE就没问题了,我原以为WINOWS使用的也是UNICODE字符集啊,竟然是多字节字符!谢谢了,不过在UNICODE不使用CArchive,而是一个字节一个一个字节地去读每句话也可以
#1
VS2010默认的UNICODE,并不是多字节,而在VC6下默认的就是多字节,所以你看看是不是工程的字符集的问题
#2
恩,我也发现了。VC2010使用的是UNICODE字符!不使用UNICODE就没问题了,我原以为WINOWS使用的也是UNICODE字符集啊,竟然是多字节字符!谢谢了,不过在UNICODE不使用CArchive,而是一个字节一个一个字节地去读每句话也可以