Чтение из файла и сохранение значений в виде массива массивов

Я работаю над программой, которая интерпретирует некоторые данные Excel в более полезные для меня данные. Но я действительно не знаю, как двигаться дальше в этом.

У меня есть CSV-файл с матрицей из Excel, где хранятся некоторые данные. Это выглядит так:

;1;1;1;1;1;1;1;
;1;0;A;0;1;0;0;
;1;0;1;0;1;0;1;
;1;0;1;0;1;0;1;
;1;0;1;0;1;0;1;
;0;0;1;0;B;0;1;
;1;1;1;1;1;1;1;

Я хочу прочитать эти данные и показать их через wxWidgets в следующем формате:

1111111
1000100
1010101
1010101
1010101
0010001
1111111
A: 3, 2
B: 5, 6

И это фактический код, который я использовал для этого, используя библиотеки wxWidgets:

void WxWFrame::OnToggleButton1Toggle(wxCommandEvent& event)
{
TextCtrl1->SetValue("");
wxString        file;
wxFileDialog    fdlog(this, _("Open CSV file"), "", "",
"CSV (*.csv)|*.csv", wxFD_OPEN|wxFD_FILE_MUST_EXIST);

if(fdlog.ShowModal() != wxID_OK) return;
file.Clear();
file = fdlog.GetPath();

wxString str;
wxTextFile tfile;

tfile.Open(file);
str = tfile.GetFirstLine();

while(!tfile.Eof())
{
str.Replace(wxT("X"), wxT("0"));
str.Replace(wxT("Y"), wxT("0"));
str.Replace(wxT(";"),wxT(""));
TextCtrl1->WriteText("\r\n");
TextCtrl1->WriteText(str);
str = tfile.GetNextLine();
}

tfile.Close();
}

Это работает для просмотра матрицы без точек с запятой и заменяет X и Y нулями. Но я не могу понять, как определить координаты x и y для A и B. Я подумал, что было бы полезно создать реальную матрицу данных, а затем прочитать строки из файла через GetFirst / NextLine и загрузить их в эта матрица. После этого должно быть довольно легко получить эти координаты x и y из матрицы, используя счетчики и для циклов. Но проблема в том, что независимо от того, что я делаю, я не могу разделить строки из файла, хранящегося в переменной str, на более мелкие куски, разделенные точкой с запятой и загрузить их один за другим в матрицу.

Так что я был бы очень благодарен, если кто-нибудь может мне помочь с этим. Как я могу взять этот wxString, разбить его на массив после нахождения точки с запятой, а затем добавить его в массив массивов?

0

Решение

Задача ещё не решена.

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

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

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