Форум программистов, компьютерный форум CyberForum.ru

Чтение массива из файла - C++

Восстановить пароль Регистрация
 
Zukokun
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 6
10.12.2013, 23:43     Чтение массива из файла #1
В интернете целая куча статей по чтению из текстового файла, но насколько я понял все сводится к чтению либо символа, либо строки, либо, если известен размер числа, то считывание числа.
Ответа для моей задачи я не нашел, ну или не смог разобраться, поэтому пишу здесь.
Есть текстовый файл в начале которого написана размерность массива после чего идут числа значений каждой ячейки массива. Задача сформировать в программе этот массив.
Примерный вид файла:

ncols 3
nrows 4
1.00 60.00 150.00
500.00 300.00 100500.00
400.00 2500.00 1.00
350.00 490.00 560.00
После ncols и nrows много пробелов (по-видимому, форум несколько пробелов подряд приравнивает одному), далее по одному пробелу. Можно считывать построчно и вычленять необходимые значения, но что-то мне подсказывает, что можно это сделать проще, помогите плз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 23:43     Чтение массива из файла
Посмотрите здесь:

C++ Чтение массива из файла
чтение массива структуры из файла C++
C++ Чтение массива из файла
C++ Чтение из файла массива
Чтение массива из файла C++
Чтение и вывод массива из файла C++
Чтение массива из файла C++
Запись и чтение массива из файла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.12.2013, 00:05     Чтение массива из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    ifstream fin("file.txt");
    if (!fin) cout << "Error!" << endl;
    else
    {
        int cols;
        int rows;
        char str[10];
        
        fin >> str >> cols;
        fin >> str >> rows;
 
        double** arr = new double*[rows];
        for (int i = 0; i < rows; ++i)
            arr[i] = new double[cols];
 
        for (int i = 0; i < rows; ++i)
            for ( int j = 0; j < cols; ++j)
                fin >> arr[i][j];
 
        fin.close();
    }
Yandex
Объявления
11.12.2013, 00:05     Чтение массива из файла
Ответ Создать тему
Опции темы

Текущее время: 16:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru