0 / 0 / 1
Регистрация: 26.02.2013
Сообщений: 35
1

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

08.07.2014, 17:41. Показов 1560. Ответов 2
Метки нет (Все метки)

На днях начал изучать Qt GUI, и столкнулся с проблемой, не могу считать матрицу с файла, может кто помочь?

Есть .txt файл, с данными:
XML
1
2
3
1 123 321
12 31 123
132 31 12345
Нужно занести эти цифры в массив mat[3][3].
Вот мой кусок программы, как я это пытаюсь реализовать, но все время выдает ошибки, может быть кто то сможет помочь?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
QString filename=QFileDialog::getOpenFileName(this,tr("Open"),"D://","All files (*.*)");
QStringList strArray;
QStringList lst;
QFile file(filename);
if (!file.open(QIODevice::ReadOnly)) return;
QTextStream stream(&file);
while(!stream.atEnd())
{
   strArray.append(stream.readLine());
}
Добавлено через 11 минут
И да, вот нашел как считывать данные, но только с 1 строчки, можно ли как это реализовать для моего примера?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
QString filename=QFileDialog::getOpenFileName(this,tr("Open"),"D://","All files (*.*)");
QFile file(filename);
if (!file.open(QIODevice::Text | QIODevice::ReadOnly)) return; // пытаемся открыть файл
QByteArray ba = file.readLine(); // читаем первую строку
file.close(); // закрываем файл
QList<QByteArray> baList = ba.split(' '); // делим строку на кусочки... в качестве разделителя используем пробел
QList<int> intList; // сюда запишем результат
for (int i=0;i<baList.size();i++) // перебираем все кусочки строки
{
   intList.append(baList[i].toInt()); // переводим их int и записываем в новый массив
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2014, 17:41
Ответы с готовыми решениями:

Сложность со считыванием данных из файла в массив
Программа должна по нажатию кнопки считывать из файла числа и записывать их в массивы структуры....

Сформировать одномерный массив считыванием данных из файла, и найти максимальный и минимальный элемент массива
Помогите плиз! Сформировать одномерный массив считыванием данных из файла, и найти максимальный и...

Проблема со считыванием данных из файла
Здравствуйте, помогите пожалуйста. мне нужно считывать год мес. день с файла, но прога либо не...

Трабл с считыванием данных из бинарного файла
суть проблемы, программа отлично работает с данными после запуска, считывает и записывает на диск...

2
202 / 148 / 5
Регистрация: 14.03.2013
Сообщений: 784
09.07.2014, 14:49 2
Лучший ответ Сообщение было отмечено Est_SAN как решение

Решение

Цитата Сообщение от Est_SAN Посмотреть сообщение
может кто помочь?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    QString filename=QFileDialog::getOpenFileName(this,"Open","D://","All files (*.*)");
    QList< QList<double> > mass;
    QFile file(filename);
    if (file.open(QIODevice::ReadOnly))
    {
        QByteArray ba = file.readAll();
        QString text(ba);
        QStringList list_mass = text.split('\n');
        QStringList list_array;
        if(list_mass.at(list_mass.size()-1)=="") list_mass.removeLast();
        int i,j;
        QList<double> array;
        for(i=0;i<list_mass.count();++i)
        {
            array.clear();
            list_array = list_mass.at(i).split(' ');
            if(list_array.at(list_array.size()-1)=="") list_array.removeLast();
            for(j=0;j<list_array.size();++j)
            {
                array.append(list_array[j].toDouble() );
            }
            mass.append(array);
        }
        file.close();
    }
1
0 / 0 / 1
Регистрация: 26.02.2013
Сообщений: 35
09.07.2014, 16:02  [ТС] 3
Спасибо))) сам разобрался, оказалась очень просто =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2014, 16:02

Проблема считыванием данных из файла (Fortran 90)
Доброго времени суток. Написал программку по считыванию данных из столбцов столбцов...

Помогите разобраться со считыванием данных с XML-файла в MS SQL таблицу.
Задание Приходят XML-файлы нужно считать данные и записать в SQL таблицу. SQL-2000 должен...

Непонятки cо считыванием из файла.
Всё работает, не могу понять как сделать чтобы пользователь вводил имя файла. Компилятор уже еле...

Ошибка с считыванием информации из файла
Program1.pas(98) : Ошибка времени выполнения: Входная строка имела неверный формат. - почему...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru