您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Qt中如何使用QFile類打開文件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Qt中使用QFile類來操作文件的輸入/輸出。繼承至QIODevice,QIODevice類是輸入/輸出設備的基類,
為設備提供了公共實現和抽象接口用于讀寫塊數據。QIODevice又繼承至QObject。
QFile(const QString &name) //傳入一個文件路徑
構造完成后,并沒有打開文件,需要使用QFile::open函數來打開文件
[virtual] bool QFile::open(OpenMode mode); /* *OpenMode mode 打開方式,是一個枚舉類型 *QIODevice::NotOpen 不打開 *QIODevice::ReadOnly 只讀方式 *QIODevice::WriteOnly 讀寫方式 *QIODevice::ReadWrite 讀寫方式 *QIODevice::Append 追加方式 *QIODevice::Truncate 階段方式 *QIODevice::Text 轉換不同平臺的換行,讀的時候把所有換行轉成'\n',寫的時候再把'\n'轉換對應平臺的換行 *QIODevice::Unbuffered 不使用緩沖區 */
例如:
QFile file("d:/123.txt"); file.open(QIODevice::ReadOnly);
[virtual] void QFileDevice::close(); //刷新緩沖區,并關閉文件
QIODevice::read函數
QByteArray QIODevice::read(qint64 maxSize);//讀取maxSize個字節,內部位置指針后移maxSize,并返回一個QByteArray對象。
例如:
QFile file("d:/123.txt"); file.open(QIODevice::ReadOnly); qDebug() << file.read(10) << endl; file.close();
QIODevice::readLine函數
QByteArray QIODevice::readLine(qint64 maxSize = 0) //讀取一行,但是這一行不能超過maxSize字節,maxSize = 0代表不限制行字節數。
例如:
QFile file("d:/123.txt"); file.open(QIODevice::ReadOnly); qDebug() << file.readLine(10) << endl; file.close();
QIODevice::readAll函數
QByteArray QIODevice::readAll()
QIODevice::write函數
qint64 QIODevice::write(const QByteArray &byteArray); //將byteArray寫入文件,寫完內部位置指針后移
例如:
QFile file("d:/123.txt"); file.open(QIODevice::ReadWrite | QIODevice::Text); //打開模式可以使用‘|'組合 QByteArray byte("hellworld"); file.write(byte); file.write(byte); file.close();
流控文件輸入輸出可以使用QDataStream。
流控寫入
#include <QDataStream> #include <QDebug> #include <QFile> int main(int argc, char**argv) { QFile file("d:/123.txt"); file.open(QIODevice::ReadWrite); QDataStream stream(&file); int a = 10; QString str = "helloworld"; stream << a << str; file.close(); return 0; }
流控讀取
#include <QDataStream> #include <QDebug> #include <QFile> int main(int argc, char**argv) { QFile file("d:/123.txt"); file.open(QIODevice::ReadWrite); QDataStream stream(&file); int a; QString str; stream >> a >> str; qDebug() << "a:" << a << "str:" << str << endl; file.close(); return 0; }
感謝各位的閱讀!關于“Qt中如何使用QFile類打開文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。