Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Non_stop
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 253
Записей в блоге: 1
1

Запись вектора в файл

12.03.2017, 23:02. Просмотров 441. Ответов 6
Метки нет (Все метки)

Здравствуйте в одной функции записываю вектор
Объявил
C++ (Qt)
1
QVector<souble> vec;
Записываю в вектор:
C++ (Qt)
1
vec.push_back(k+m);
В другой функции записываю вектор в файл:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void MainWindow::saveAsCSV(QVector<double> vec)
{
QFile csvFile("tab.csv");
if( csvFile.open(QIODevice::WriteOnly)){
 
        QTextStream textStream( &csvFile );
        QStringList stringList;
        for( int c = 0; c < vec.size(); c++ )
            {
                
                stringList <<vec.at(c);
            }
 textStream << stringList.join( ';' )+"\n";
        }
        csvFile.close();
}

Записьв файл вызвывается по сигналу.

в mainwindow.h объявил так:
C++ (Qt)
1
2
В public slots:
void saveAsCSV(QVector<double> vec);

Пишет ошибку когда записываю в файл:
C++ (Qt)
1
 stringList <<vec.at(c);
no match for 'operator <<' (operand types are 'QString' and 'const double')
Как исправить не пойму... Прошу помощи

Надо вместо QStringlist что-то написать,а вот что ...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2017, 23:02
Ответы с готовыми решениями:

Чтение/Запись вектора указателей из/в файл
Доброго времени суток! Не судите строго - опыта мало. Вообщем, нужна помощь,...

Запись вектора в файл сопровождается наличием лишних данных
Добрый день. При попытке записать вектор в текстовый файл, получаю следующее...

QDataStream запись вектора
Как можно записать std вектор в бинарном виде просто указывая первый элемент и...

Ini-файл: чтение происходит без проблем, но запись в файл не происходит, почему?
Пытаюсь научиться работать с ini файлам, чтение происходит без проблем но...

Запись в файл Qt
Доброго времени суток! Имею код: QString filename =...

6
nmcf
6499 / 5735 / 2610
Регистрация: 14.04.2014
Сообщений: 24,454
12.03.2017, 23:37 2
Он только QString принимает через <<.
А зачем тебе список? Почему сразу не записывать в QTextStream?
0
Non_stop
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 253
Записей в блоге: 1
12.03.2017, 23:52  [ТС] 3
nmcf, Тип так?

QTextStream textStream( &csvFile );
textStream<< vec.at(c);
0
nmcf
6499 / 5735 / 2610
Регистрация: 14.04.2014
Сообщений: 24,454
12.03.2017, 23:53 4
Да. Ну и разделители те, если надо.
0
Non_stop
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 253
Записей в блоге: 1
12.03.2017, 23:54  [ТС] 5
nmcf, На сколько я знаю QTextStream нужен для текстовых данных, а для чисел, что тогда использовать?
Или я ошибаюсь?
0
nmcf
6499 / 5735 / 2610
Регистрация: 14.04.2014
Сообщений: 24,454
12.03.2017, 23:56 6
Ну файл же текстовый, они и должны в текст перейти.
1
Non_stop
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 253
Записей в блоге: 1
13.03.2017, 00:41  [ТС] 7
nmcf, Спасибо, ошибка пропала.Но тут же возник вопрос по поводу передачи этого вектора в функцию записи.
Проблема в том, что даже файл не создаётся при нажатии определённо кнопки. Возможно я вектор не так передаю?

Добавлено через 46 секунд
nmcf, я в mainwindow.h его никак не объявляю

Добавлено через 3 минуты
nmcf, При компиляции пишет no such a slot (который записывает в файл)

Добавлено через 11 минут
nmcf, Проблему решил, только разделители мне нужны были для того, чтобы в формате excel читать. А теперь а меня всё в одном элементе пишется

Добавлено через 13 минут
nmcf, Эта проблема тоже решена, были проблемы с файлом!
0
13.03.2017, 00:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2017, 00:41

Запись в файл
Что не так с кодом??? Просто файл есть а проверку не проходит( QFile...

запись в файл
метод write() не записывает в файл. Вот код, который тупо удаляет из файла...

Запись QTextEdit в файл
Я новичок в Qt. Я создал с помощью Qt Creator кнопку и textEdit на диалоговом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru