項目目錄:
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(); } }