读文件:
m_CLiseCtrl.DeleteAllItems();
CStdioFile pFile;
char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));
setlocale(LC_CTYPE, "chs");//设定
// TODO: 在此添加专用代码和/或调用基类
//GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);
//CString filename = L"stock.txt";
int iRows = 0;
if (!pFile.Open(_T("DepartMent.txt"), CFile::modeNoTruncate | CFile::modeRead))
{
return;
}
else
{
pFile.SeekToBegin();
CString pStrText;
while (pFile.ReadString(pStrText))//读取文件一行
{
int curPos = 0;
for (int iCols = 0; iCols < 4; iCols++) //遍历列
{
if (curPos == -1)
{
break;
}
if (iCols == 0)
{
CString resToken = pStrText.Tokenize(_T("|"), curPos);//"|"分隔字符串
m_CLiseCtrl.InsertItem(iRows, resToken);
}
else
{
CString resToken = pStrText.Tokenize(_T("|"), curPos);
if (resToken.IsEmpty())//判断是否到结尾
break;
m_CLiseCtrl.SetItemText(iRows, iCols, resToken);
}
}
iRows++;
}
}
setlocale(LC_CTYPE, old_locale);
free(old_locale);//还原区域设定
pFile.Close();
写文件:
CStdioFile pFile;
char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));
setlocale(LC_CTYPE, "chs");//设定
CString str, str1, str2, str3;
if (!pFile.Open(_T("DepartMent.txt"), CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite))
{
return;
}
pFile.SeekToEnd();
m_strPartName.GetWindowTextW(str);
m_strPartLeader.GetWindowTextW(str1);
m_strPartStaffCount.GetWindowTextW(str2);
m_strPartPor.GetWindowTextW(str3);
CString strTemp = str + "|" + str1 + "|" + str2 + "|" + str3 + "\n";
pFile.WriteString(strTemp); //写入文件
setlocale(LC_CTYPE, old_locale);
free(old_locale);//还原区域设定
pFile.Close();