因为格式不同,有时读写文本文件TXT的汉字时,会乱码。
在读写文本文件前加入如下代码:
char* pOldLocale=_strdup(setlocale(LC_CTYPE,NULL));
setlocale(LC_CTYPE,"chs");
。。。。。
setlocale(LC_CTYPE,pOldLocale);
free(pOldLocale);
例子:
void resdInitFile()
{
CStdioFile myFile;
CString readlog;
CFileException fileException;
if(myFile.Open(_T("init.ini"),CFile::typeText|CFile::modeRead),&fileException)
{
char* pOldLocale=_strdup(setlocale(LC_CTYPE,NULL));
setlocale(LC_CTYPE,"chs");
myFile.ReadString(readlog);
setlocale(LC_CTYPE,pOldLocale);
free(pOldLocale);
myFile.Close();
}
}
{
CStdioFile myFile;
CString readlog;
CFileException fileException;
if(myFile.Open(_T("init.ini"),CFile::typeText|CFile::modeRead),&fileException)
{
char* pOldLocale=_strdup(setlocale(LC_CTYPE,NULL));
setlocale(LC_CTYPE,"chs");
myFile.ReadString(readlog);
setlocale(LC_CTYPE,pOldLocale);
free(pOldLocale);
myFile.Close();
}
}