小编K1-*_*-ZR的帖子

如何在Qt中使用QDataStream将自定义结构保存/加载到二进制文件中?

我将一个结构保存在二进制文件中,然后再加载。我发现一种方法是使用QVariant。这是我创建的简化的Qt Widget Application示例。但是当我运行它时,二进制文件仍然为空。你能帮我吗。另外,有没有更好的方法来做这种事情?

mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QFile>
#include <QFileDialog>
#include <QDataStream>
#include <QString>

#include "mystruct.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif
Run Code Online (Sandbox Code Playgroud)

mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    /* create an object of the struct */
    myStruct * aStruct = new myStruct;
    aStruct->myStringVar = QString("aaaaa");

    /* …
Run Code Online (Sandbox Code Playgroud)

c++ qt qt5 qdatastream

3
推荐指数
1
解决办法
605
查看次数

标签 统计

c++ ×1

qdatastream ×1

qt ×1

qt5 ×1