1

我在读取 csv 文件时遇到问题。我对 mfc 很陌生,希望有人能帮助我。所以...我有一个按钮,我用它打开文件对话框并选择 csv 文件。在 csv 文件中,我有不同的形状(矩形、椭圆、多边形)以及颜色和位置信息(分隔符是;)。现在我需要在 ListBox 中显示这些信息,而我被卡住了。我到目前为止(代码)......我不知道这没关系,我找不到任何好的帮助,所以我希望有人能给我一个提示。

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();
 }
 }
4

1 回答 1

1

后面的分号while

while (readFile.ReadString(strLine));
{
    seznamLikov.AddString(strLine);
}

删除它,因为它相当于:

while (readFile.ReadString(strLine)) {}

{
    seznamLikov.AddString(strLine);
}

失败AddString()后将只调用一次含义。ReadString()

于 2013-01-07T21:35:05.950 回答