- 0
Считывание в массив данных из файла
Необходимо считать из файла строки в масссив. строка формата: Фамилия и 3 вещественных числа. Необходимо сделать это в Visual studio, приложение mfc количество строк в файле случайное... что-то пытался как-нибудь организовать но совсем не получается... данные необходимо считывать в массив для последующих сортировок: сначала внутри строки(сортирование вещественных чисел по возрастанию или убыванию), потом сортировка строк. Сортировку то сам смогу организовать, а вот как считать.. не знаю((
2 ответа:
-
- 0
в итоге опять нашёл сам ответ)) правда пока неполный(
void CSorevnovaniaDlg::OnOpen() { char Filter []= "TextFile (.txt) | *.txt; | All (.) | *.||"; //определили фильтр для открытия файлов CFileDialog fd(TRUE, ".txt", "Result.txt", OFNHIDEREADONLY | OFNOVERWRITEPROMPT, Filter); // объявили о создании объекта класса CFileDialog для открытия // файла fd.DoModal(); // инициализировали вызов диалога открытия файла
CFile txt( fd.GetPathName(), CFile::modeReadWrite ); char array[4][3][5]; char fio[3][49]; char rn[2]; int i,j,n=0; txt.Seek(0, CFile::begin);
for(i=0;i<3;i++) { txt.Read(&fio[i], 50); for(j=0;j<3;j++) { txt.Seek(1, CFile::current);
txt.Read(&array[i][j+1], 5); if(j==2) { txt.Seek(2, CFile::current); } } m_1.Format("%.49s", fio[0]); res_11.Format("%.5s", array[0][1]); res_12.Format("%.5s", array[0][2]); res_13.Format("%.5s", array[0][3]); m_2.Format("%.49s", fio[1]); res_21.Format("%.5s", array[1][1]); res_22.Format("%.5s", array[1][2]); res_23.Format("%.5s", array[1][3]); m_3.Format("%.49s", fio[2]); res_31.Format("%.5s", array[2][1]); res_32.Format("%.5s", array[2][2]); res_33.Format("%.5s", array[2][3]);UpdateData(0); }
-
- 0
считывался файл в формате:
Петров А.Ю. 180.5 167.9 181.3
Иванов К.Е. 160.5 197.2 151.2
Сидоров А.А. 170.4 181.2 160.4
resxx - это editbox, куда выводится число. m_x - это static box, куда выводится ФИО
на поле ФИО отводится 52 символа. тут они убираются(