•  
  • 0
  •  
0

Считывание в массив данных из файла

Необходимо считать из файла строки в масссив. строка формата: Фамилия и 3 вещественных числа. Необходимо сделать это в Visual studio, приложение mfc количество строк в файле случайное... что-то пытался как-нибудь организовать но совсем не получается... данные необходимо считывать в массив для последующих сортировок: сначала внутри строки(сортирование вещественных чисел по возрастанию или убыванию), потом сортировка строк. Сортировку то сам смогу организовать, а вот как считать.. не знаю((

C++, mfc.
спросил 812 дней назад Аватор пользователя marvello marvello
30 2
300

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

    ответил 805 дней назад Аватор пользователя marvello marvello
    30 2
    изменил 805 дней назад Аватор пользователя marvello marvello
    30 2
    •  
    • 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 символа. тут они убираются(

    ответил 805 дней назад Аватор пользователя marvello marvello
    30 2
    изменил 805 дней назад Аватор пользователя marvello marvello
    30 2
Чтобы написать ответ, вы должны авторизироваться.