如果單獨(dú)用CStdioFile 來(lái)讀取中文文件的話會(huì)出現(xiàn)亂碼的問(wèn)題,。 解決方法如下
包含頭文件: #include <locale.h> 讀文件: char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) ); setlocale( LC_CTYPE, "chs" ); CStdioFile file; file.Open(L"亂碼.txt",CStdioFile::modeRead); CString strFamilyName; file.ReadString(strFamilyName); setlocale( LC_CTYPE, old_locale ); free( old_locale );
寫(xiě)文件
setlocale( LC_CTYPE, ("chs")); CString strFile; CString strLine; CStdioFile sf; strFile = L"中文.TXT"; if(sf.Open(strFile,CFile::modeCreate | CFile::modeReadWrite)) { MEMORYSTATUS ms = {0}; ms.dwLength = sizeof(MEMORYSTATUS); GlobalMemoryStatus(&ms); strLine.Format(_T("物理內(nèi)存總數(shù):%dM\t可用物理內(nèi)存數(shù):%dM\t虛擬內(nèi)存總數(shù):%dM\t可用虛擬內(nèi)存數(shù):%dM\t內(nèi)存占用百分比:%d/%%\n"), ms.dwTotalPhys/1024/1024,ms.dwAvailPhys/1024/1024,ms.dwTotalVirtual/1024/1024,ms.dwAvailVirtual/1024/1024,ms.dwMemoryLoad); sf.WriteString(strLine);
sf.Close(); }
|