** C语言用法全局宏 FILE 当前文件名 LINE 所在行
#define cout qDebug() << “[” << FILE << “:” << LINE << “]” **
#include "QtDataStream.h"
#include <QDataStream>
#include <QFile>
#include <QDebug>
//C语言用法全局宏 __FILE__ 当前文件名 __LINE__ 所在行
#define cout qDebug() << "[" << __FILE__ << ":" << __LINE__ << "]"
QtDataStream::QtDataStream(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
writeData();
readData();
}
void QtDataStream::writeData()
{
//创建文件对象
QFile file("../test.txt");
//打开问价,只写的方式打开
bool isOk = file.open(QIODevice::WriteOnly);
if (isOk)
{
//创建数据流,和file文件关联
QDataStream stream(&file);
stream << QString::fromLocal8Bit("nihao") << 123; //保存的文件是二进制文件
}
file.close();
}
void QtDataStream::readData()
{
//创建文件对象
QFile file("../test.txt");
//打开问价,只写的方式打开
bool isOk = file.open(QIODevice::ReadOnly);
if (isOk)
{
//创建数据流,和file文件关联
QDataStream stream(&file);
QString qstr;
int data;
stream >> qstr >> data; //保存的文件是二进制文件
cout << qstr.toUtf8().data() << " " << data;
}
file.close();
}
QTextStream 文本流和QDataStream 操作文件方式相似,可以通过 setCodec() 函数指定编码