c ++ mfc csv file read

У меня проблема с чтением файла 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();
}
}

1

Решение

Точка с запятой после while:

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

удалите это, поскольку это эквивалентно:

while (readFile.ReadString(strLine)) {}

{
seznamLikov.AddString(strLine);
}

имея в виду AddString() будет вызван только один раз, после ReadString() выходит из строя.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]