【发布时间】:2022-01-16 14:26:10
【问题描述】:
当我按下按钮时,我想逐字阅读文本文件。我使用此代码成功逐行阅读。我认为scanf_s() 适合此代码逐字读取文本文件,但我不知道如何在此处应用。
void CFileloadView::OnBnClickedButton1()
{
CFileDialog dlg(TRUE, _T("*.txt"), NULL, OFN_FILEMUSTEXIST | OFN_OVERWRITEPROMPT,
_T("TXT Files(*.txt)|*.txt|"), NULL);
if (dlg.DoModal() == IDOK)
{
CStdioFile rFile;
CString strBufferLine;
int count = 0;
int num;
if (!rFile.Open(dlg.GetPathName(), CFile::modeRead))
{
MessageBox(_T("Can't OpenFile!"), _T("Warning"), MB_OK | MB_ICONHAND);
return;
}
while (rFile.ReadString(strBufferLine))
{
//fscanf(rFile, "%d", &num);
count++;
m_list2.AddString(strBufferLine);
strBufferLine.Replace(("\r"), (""));
if (strBufferLine.GetAt(0) == '#')
continue;
}
rFile.Close();
}
}
谁能看出问题所在?
【问题讨论】:
-
请注意,最后一个
if语句什么都不做:while循环将continue无论如何。