MFC Unicode文件读取 分割字符串
如果是Unicode工程
CStdioFile file;
file.open(_T("1.txt"), CFile::typeModeRead | CFile::typeUnicode);
CString str
file.ReadString(str);
非Unicode工程
CFile file; file.Open(_T("新建文本文档.txt"), CFile::modeRead); const int fileLen = file.GetLength(); wchar_t wbuf[1024] = {0}; file.Read(wbuf, fileLen); CStringW bufStr = wbuf; int wlen = bufStr.GetLength(); std::vector<CStringW> vec_lines; int pos = 0; CStringW strTmp; while (1) { strTmp = bufStr.Tokenize(L"\n", pos); //每次分割 pos会变化 if (strTmp.IsEmpty()) { break; } if (0x0d == strTmp[strTmp.GetLength() - 1]) { ///0x0d 为\r strTmp = strTmp.Mid(0, strTmp.GetLength() - 1); } vec_lines.push_back(strTmp); //MessageBoxW(NULL, strTmp, L"test", MB_OK); } std::vector<CStringW> vec_cells; bufStr = vec_lines[0]; pos = 0; //置0 while (1) { strTmp = bufStr.Tokenize(L",", pos); if (strTmp.IsEmpty()) { break; } vec_cells.push_back(strTmp); MessageBoxW(NULL, strTmp, L"test", MB_OK); }