我有一个问题与CSV文件读取。我对mfc很陌生,我希望有人能帮助我。所以…我有一个按钮,我打开文件对话框,选择CSV文件。在csv文件中,我有不同的形状(矩形,椭圆,多边形)的颜色和位置信息(分隔符是;)。现在我需要在列表框中显示这些信息,这里我卡住了。我到目前为止(代码)…我不知道这是可以的,我找不到任何好的帮助,所以我希望有人能给我一个提示。
void CDialogDrawing::OnBnClickedButton2()
{
TCHAR filtri[] = _T("CSV files (*.csv)|*.csv||");
CString path;
CFileDialog dlg(TRUE, _T("csv"), _T("*.csv"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, filtri);
dlg.m_ofn.lpstrTitle = _T("Open...");
if(dlg.DoModal() == IDOK) //OK
{
path = dlg.GetPathName();
//
CStdioFile readFile;
CFileException fileException;
CString strLine;
if(readFile.Open(path, CFile::modeRead, &fileException))
{
while (readFile.ReadString(strLine));
{
seznamLikov.AddString(strLine);
}
}
else
{
CString strErrorMsg;
strErrorMsg.Format(_T("Can't open file %s , error : %u"), path, fileException.m_cause);
AfxMessageBox(strErrorMsg);
}
readFile.Close();
}
}
while
:
while (readFile.ReadString(strLine));
{
seznamLikov.AddString(strLine);
}
删除它,因为它相当于:
while (readFile.ReadString(strLine)) {}
{
seznamLikov.AddString(strLine);
}
表示ReadString()
失败后,AddString()
只会被调用一次。