项目目录:
widget.h:
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); //定义一个写函数 void writeData(); //定义一个读函数 void readData(); private: Ui::Widget *ui; }; #endif // WIDGET_H
widget.cpp:
#include "widget.h" #include "ui_widget.h" #include <QDataStream> #include <QFile> #include <QDebug> #include<QTextStream>//读写的时候可以指定编码 #define cout qDebug()<<"["<<__FILE__<<":"<<__LINE__<<"]" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); writeData(); readData(); } Widget::~Widget() { delete ui; } void Widget::writeData() { //创建对象 QFile file ("../test.txt"); //打开文件,只写方式打开 bool isOk = file.open(QIODevice::WriteOnly); if (isOk == true ) { //创建数据流,和file文件关联 //往数据流中写数据,相当于往文件里写数据 QDataStream stream(&file); stream<<QString ("主要看气质")<<250; file.close(); } } void Widget::readData() { //创建对象 QFile file ("../test.txt"); //打开文件,只读方式打开 bool isOk = file.open(QIODevice::ReadOnly); if (isOk == true ) { //创建数据流,和file文件关联 //往数据流中读数据,相当于往文件里读数据 QDataStream stream(&file); //读的时候,按照写的顺序取数据 QString str; int a; stream>>str>>a; //打印,如果没有出现想要的结果,试试下面那一句 // qDebug()<<str<<a; // qDebug()<<str.toUtf8().data()<<a; cout<<str.toUtf8().data()<<a; file.close(); } }