欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt基礎(chǔ)開(kāi)發(fā)之Qt文件操作類(lèi)QFile讀寫(xiě)文件的詳細(xì)方法與實(shí)例及QDataStream的使用方法

 更新時(shí)間:2020年03月16日 08:51:44   作者:嚇人的猿  
這篇文章主要介紹了Qt基礎(chǔ)開(kāi)發(fā)之Qt文件操作類(lèi)QFile讀寫(xiě)文件的詳細(xì)方法與實(shí)例,需要的朋友可以參考下

Qt文件操作類(lèi)QFile簡(jiǎn)介

Qt中使用QFile類(lèi)來(lái)操作文件的輸入/輸出。繼承至QIODevice,QIODevice類(lèi)是輸入/輸出設(shè)備的基類(lèi),

為設(shè)備提供了公共實(shí)現(xiàn)和抽象接口用于讀寫(xiě)塊數(shù)據(jù)。QIODevice又繼承至QObject。

1、使用QFile類(lèi)打開(kāi)文件

QFile的構(gòu)造函數(shù)

QFile(const QString &name) //傳入一個(gè)文件路徑

構(gòu)造完成后,并沒(méi)有打開(kāi)文件,需要使用QFile::open函數(shù)來(lái)打開(kāi)文件

[virtual] bool QFile::open(OpenMode mode);
/*
*OpenMode mode 打開(kāi)方式,是一個(gè)枚舉類(lèi)型
*QIODevice::NotOpen 不打開(kāi)
*QIODevice::ReadOnly 只讀方式
*QIODevice::WriteOnly 讀寫(xiě)方式
*QIODevice::ReadWrite 讀寫(xiě)方式
*QIODevice::Append   追加方式
*QIODevice::Truncate 階段方式
*QIODevice::Text     轉(zhuǎn)換不同平臺(tái)的換行,讀的時(shí)候把所有換行轉(zhuǎn)成'\n',寫(xiě)的時(shí)候再把'\n'轉(zhuǎn)換對(duì)應(yīng)平臺(tái)的換行
*QIODevice::Unbuffered 不使用緩沖區(qū)
*/

例如:

QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);

2、QFile類(lèi)關(guān)閉文件

[virtual] void QFileDevice::close(); //刷新緩沖區(qū),并關(guān)閉文件

3、QFile類(lèi)文件讀操作

QIODevice::read函數(shù)

QByteArray QIODevice::read(qint64 maxSize);//讀取maxSize個(gè)字節(jié),內(nèi)部位置指針后移maxSize,并返回一個(gè)QByteArray對(duì)象。

例如:

QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);
qDebug() << file.read(10) << endl;
file.close();

QIODevice::readLine函數(shù)

QByteArray QIODevice::readLine(qint64 maxSize = 0) //讀取一行,但是這一行不能超過(guò)maxSize字節(jié),maxSize = 0代表不限制行字節(jié)數(shù)。

例如:

QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);
qDebug() << file.readLine(10) << endl; 
file.close();

QIODevice::readAll函數(shù)

QByteArray QIODevice::readAll()

4、QFile類(lèi)文件寫(xiě)操作

QIODevice::write函數(shù)

qint64 QIODevice::write(const QByteArray &byteArray); //將byteArray寫(xiě)入文件,寫(xiě)完內(nèi)部位置指針后移

例如:

QFile file("d:/123.txt");
file.open(QIODevice::ReadWrite | QIODevice::Text); //打開(kāi)模式可以使用‘|'組合
QByteArray byte("hellworld");
file.write(byte);
file.write(byte);
file.close();

5、QDataStream

流控文件輸入輸出可以使用QDataStream。

流控寫(xiě)入

#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文件操作類(lèi)QFile讀寫(xiě)文件的詳細(xì)方法與實(shí)例及QDataStream的使用方法,更多關(guān)于Qt基礎(chǔ)開(kāi)發(fā)知識(shí)請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • Qt?QPainter的使用方法

    Qt?QPainter的使用方法

    QPainter是Qt的一個(gè)繪圖類(lèi),它的主要任務(wù)是在繪圖設(shè)備上進(jìn)行2D圖形渲染,本文主要介紹了Qt?QPainter的使用方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • c++ 臨時(shí)對(duì)象的來(lái)源

    c++ 臨時(shí)對(duì)象的來(lái)源

    大家可能對(duì)這個(gè)臨時(shí)對(duì)象這個(gè)概念還不是很清楚,那么首先我們花一些時(shí)間來(lái)理解臨時(shí)對(duì)象
    2013-01-01
  • 基于C/C++時(shí)間函數(shù)的使用詳解

    基于C/C++時(shí)間函數(shù)的使用詳解

    本篇文章是對(duì)C/C++時(shí)間函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 老生常談c++中的靜態(tài)成員

    老生常談c++中的靜態(tài)成員

    有時(shí)候需要類(lèi)的一些成員與類(lèi)本身相關(guān)聯(lián),而不是與類(lèi)的每個(gè)對(duì)象相關(guān)聯(lián)。比如類(lèi)的所有對(duì)象都要共享的變量,這個(gè)時(shí)候我們就要用到類(lèi)的靜態(tài)成員,今天通過(guò)實(shí)例代碼給大家詳細(xì)介紹,需要的朋友參考下吧
    2021-07-07
  • Qt之QTimer使用及技巧小結(jié)

    Qt之QTimer使用及技巧小結(jié)

    QTimer是Qt中的定時(shí)器類(lèi),用于執(zhí)行定時(shí)操作,如在一段時(shí)間間隔后觸發(fā)某個(gè)槽函數(shù)或執(zhí)行特定的代碼,下面就來(lái)介紹一下Qt之QTimer使用及技巧小結(jié),感興趣的可以了解一下
    2023-10-10
  • Qt無(wú)邊框窗口拖拽和陰影的實(shí)現(xiàn)方法

    Qt無(wú)邊框窗口拖拽和陰影的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Qt無(wú)邊框窗口拖拽和陰影的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 關(guān)于C++出現(xiàn)Bus error問(wèn)題的排查與解決

    關(guān)于C++出現(xiàn)Bus error問(wèn)題的排查與解決

    項(xiàng)目代碼中經(jīng)常出現(xiàn)莫名其妙的Bus error問(wèn)題,并且代碼中增加很多try catch 后依然不能將錯(cuò)誤捕獲,一旦Bus erro出現(xiàn),進(jìn)程直接崩潰掉,所以本文給大家介紹了關(guān)于C++出現(xiàn)Bus error問(wèn)題的排查與解決,需要的朋友可以參考下
    2024-01-01
  • Qt實(shí)現(xiàn)語(yǔ)言切換的完整指南

    Qt實(shí)現(xiàn)語(yǔ)言切換的完整指南

    這篇文章主要為大家詳細(xì)介紹了如何在Qt中實(shí)現(xiàn)語(yǔ)言切換的完整指南,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出實(shí)例

    C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出實(shí)例

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出,是數(shù)據(jù)結(jié)構(gòu)與算法中比較基礎(chǔ)的重要內(nèi)容,有必要加以牢固掌握,需要的朋友可以參考下
    2014-08-08
  • C++?vector與數(shù)組轉(zhuǎn)換寫(xiě)入/讀出文件方式

    C++?vector與數(shù)組轉(zhuǎn)換寫(xiě)入/讀出文件方式

    這篇文章主要介紹了C++?vector與數(shù)組轉(zhuǎn)換寫(xiě)入/讀出文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論