我用此方法读取一个ANIS编码的文本文件
CStdioFile files;
CString TempStr;
files.Open(StrPath,CStdioFile::modeRead);
files.ReadString(TempStr);
但显示TempStr时,英文显示正常,中文全是乱码,什么原因?
程序需要支持UNICODE编码,在project settings下,找到Preprocessor definitions项,把_MBCS删掉,并添加_UNICODE。并且在project settings下,Link里找到Entry-Point Symbol:添加wWinMainCRTStartup
TempStr是ANSI型的话,要显示的话先用MultiByteToWideChar(ANSI编码转化为Unicode编码的API)就可以了.