Qt_IM_32 - 8BitsCoding/RobotMentor GitHub Wiki


#include <QtCore/QCoreApplication>

#include <qdebug.h>
#include <qdatastream.h>
#include <qfile.h>
#include <qdir.h>

// Serialization

bool saveFile(QString path) {
	QFile file(path);

	if (!file.open(QIODevice::WriteOnly)) return false;

	QDataStream out(&file);
	out.setVersion(QDataStream::Qt_5_8);

	QString title = "The answer is 42";
	qint64 num = 42;

	out << title;
	out << num;

	file.flush();
	file.close();

	return true;
}

bool readFile(QString path) {
	QFile file(path);

	if (!file.open(QIODevice::ReadOnly)) return false;

	QDataStream in(&file);
	if (in.version() != QDataStream::Qt_5_8) {
		qCritical() << "Bad version!";
		file.close();
		return false;
	}

	QString title;
	qint64 num;

	in >> title;
	in >> num;

	qInfo() << title << num;

	return true;
}

int main(int argc, char *argv[])
{
	QCoreApplication a(argc, argv);

	QString file = "test.txt";
	// QString path = QDir::currentPath() + QDir::separator() + "data.txt";

	if (saveFile(file)) {
		qInfo() << "Saved!";
		readFile(file);
	}

	return a.exec();
}
⚠️ **GitHub.com Fallback** ⚠️