Здравствуйте! Прошу помочь с программой. Необходимо добавить возможность сохранения и загрузки таблицы из файла.
void MainWindow::on_Read_triggered()
{
QString file_name = QFileDialog::getOpenFileName(this, "Open a file", "C:/files/myfile.txt", tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
// Проверяем, что имя файла не пустое
if(!file_name.isNull())
{// Создаём объект файла
QFile file(file_name);
if(file.open(QIODevice::ReadOnly))
{
QList<MyCard> card = _card.card();
QDataStream dataStream1(&file);
dataStream1.setVersion(QDataStream::Qt_4_1);
dataStream1 >> card;
//ui->tableView->setModel(&_card);
file.close();
}
}
}
void MainWindow::on_Write_triggered()
{
QString file_name = QFileDialog::getSaveFileName(this, "Open a file", "C:/files/myfile.txt");
QFile file(file_name); // Создаём файл
if(file.open(QIODevice::WriteOnly)) // ОТкрываем файл только для записи
{
QList<MyCard> card = _card.card();
QDataStream dataStream2(&file); // Создаём поток для записи данных
dataStream2.setVersion(QDataStream::Qt_4_1);
dataStream2 << card; // Записываем данные
}
file.close();
}
........................................................................................
Перегрузка:
QDataStream& operator<<(QDataStream& stream, const MyCard& card)
{
stream << card._number << card._name << card._sum
<< card._profit << card._rate<<card._balance;
return stream;
}
QDataStream& operator>>(QDataStream& stream, MyCard& card)
{
stream >> card._number >> card._name >> card._sum >> card._profit >> card._rate>>card._balance;
return stream;
}
На выходе (при сохранении в файл) в файле myfile.txt вместо чисел какие-то непонятные символы. Что это такое и как исправить? Как в таком случае обратно загружать таблицу из файла? Понятия не имею что делать. Подкиньте пожалуйста идеи.