//设置语言为中文,否则在Unicode编码下读出中文字符为乱码
char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));
setlocale(LC_CTYPE, "chs");
。。。
文件操作
。。。
setlocale(LC_CTYPE, old_locale); //还原语言区域的设置
free(old_locale);//还原区域设定
TCHAR chExePath[MAX_PATH];
::GetExepath(chExePath,MAX_PATH);
CString strPath(chExePath);
strPath += _T("TEST.csv");
if (PathFileExists(strPath))
{
char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));//语言区域设置
setlocale(LC_CTYPE, "chs");//设定区域语言类型
CStdioFile file;
if(file.Open(strPath,CFile::modeRead))
{
CString strTxt;
g_vectPLC_Wran.clear();
while(file.ReadString(strTxt))
{
CStringArray arr;
int nSize =g_MyParameter.SplitString(strTxt,arr,',');
if(nSize >= 3)
{
g_vectPLC_Wran.push_back(arr.GetAt(2));
}
}
file.Close();
setlocale(LC_CTYPE, old_locale); //还原语言区域的设置
free(old_locale);//还原区域设定
}
}
亲测有效,记录下