Qt_IM_20 - 8BitsCoding/RobotMentor GitHub Wiki
Datastream과의 차이점은 Datastream은 인코딩없이 데이터로 저장이되고
Textstream은 인코딩으로 텍스트로 저장이 된다는 점.
#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qdatastream.h>
#include <qtextstream.h>
#include <qfile.h>
#include <qdir.h>
#include <qfileinfo.h>
#include <qrandom.h>
bool createFile(QString path) {
QFile file(path);
if (!file.open(QIODevice::WriteOnly)) {
qWarning() << file.errorString();
return false;
}
QTextStream stream(&file);
int max = 1000;
QString banner = "Random number: ";
qInfo() << "Writing " << banner;
stream << banner;
for (int i = 0; i < 5; i++) {
qint32 num = QRandomGenerator::global()->bounded(max);
qInfo() << "Writing: " << num;
stream << num << "\r\n";
}
file.close();
return true;
}
void readFile(QString path) {
QFile file(path);
if (!file.open(QIODevice::ReadOnly)) {
qWarning() << file.errorString();
return;
}
QTextStream stream(&file);
QString banner;
stream >> banner;
qInfo() << "Banner : " << banner;
for (int i = 0; i < 5; i++) {
// qint32 num;
QString num;
stream >> num;
qInfo() << "Random: " << num;
}
file.close();
}
int main(int argc, char* argv[])
{
QCoreApplication a(argc, argv);
QString path = QDir::currentPath() + QDir::separator() + "test.txt";
qInfo() << "Path : " << path;
if (createFile(path)) {
readFile(path);
}
return a.exec();
}