CStdioFile 读取unicade环境下乱码处理

来源:互联网 发布:哪个剪辑软件最快 编辑:程序博客网 时间:2024/04/30 01:16
void CWVKeyAutoWRDlg::LoadSnKeyMap(void){CFile mFile;CString strL=_T("");CString strFile = _T("WVKey_sn_map_record.txt");CString strSnTemp, strKeyTemp;if (mFile.Open(strFile, CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite)){    while(UNReadString(&mFile, strL)){AfxExtractSubString(strSnTemp, strL, 0, '\t');AfxExtractSubString(strKeyTemp, strL, 1, '\t');myMap.SetAt(strSnTemp, strKeyTemp);}}}BOOL CWVKeyAutoWRDlg::UNReadString(CFile *InputFile, CString &strReturn){TCHAR tc;CString strBuff = _T("");strReturn = _T("");while(InputFile->Read(&tc, sizeof(TCHAR))){strBuff = tc;if(_T("\n") != strBuff){strReturn += strBuff;}else{return TRUE;}}return FALSE;}


内部函数AfxExtractSubString很好用:

从读出的一行字符串strL中查找第一个标示符的分割出的字符串strSnTemp

AfxExtractSubString(strSnTemp, strL, 0, '\t');

从读出的一行字符串strL中查找第二个标示符的分割出的字符串strKeyTemp

AfxExtractSubString(strKeyTemp, strL, 1, '\t');



另外的参照链接:

http://bbs.csdn.net/topics/380136094


0 0
原创粉丝点击