QT 檔案操作 QFile

2021-10-24 23:11:58 字數 1951 閱讀 2210

qiodevice 類是 qt 中所有 i/o 裝置的基礎介面類,為諸如 qfile、qbuffer 和 qtcpsocket 等支援讀/寫資料塊的裝置提供了乙個抽象介面。。

qfile類提供乙個用於讀/寫檔案的介面,它是乙個可以用來讀寫文字檔案、二進位制檔案和qt資源的 i/o 裝置。

qfile可以單獨使用,也可以和qtextstream 或者qdatastream 一起使用。

乙個檔案可以使用open()開啟,使用close()關閉,使用flush()重新整理。

檔案的資料讀/寫一般使用qdatastream 或者 qtextstream 來完成,不過也可以使用繼承自 qiodevice 類的一些函式,如:

qbytearray qiodevice::read(qint64 maxsize)

從裝置讀取最多最大大小的位元組,並返回資料重組

qint64 qiodevice::read(char *data, qint64 maxsize)

從裝置讀取最多最大大小的位元組的資料,並返回讀取的位元組數

qint64 qiodevice::readline(char *data, qint64 maxsize)

此函式從裝置讀取一行 ascii 字元, 最大最大最大大小為-1 位元組, 將字元儲存在資料中, 並返回讀取的位元組數。如果無法讀取行, 但沒有錯誤, 則此函式返回0。如果發生錯誤, 此函式返回可以讀取的內容的長度, 如果未讀取任何內容, 則返回-1。

readall()

讀取檔案所有內容,讀取之後將會處於檔案的末尾

qint64 qiodevice::write(const char *data, qint64 maxsize)

將資料從資料到裝置的最大最大最大大小位元組寫入裝置。返回實際寫入的位元組數, 如果發生錯誤, 則返回-1。

qint64 qiodevice::write(const char *data)

將來自8位字元的零終止字串的資料寫入裝置。返回實際寫入的位元組數, 如果發生錯誤, 則返回-1。

bool qiodevice::getchar(char *c)

從裝置讀取乙個字元, 並將其儲存在 c 中。如果 c 為 0, 則該字元將被丟棄。成功時返回 true;否則返回 false。(一次只操作乙個字元)

bool qiodevice::putchar(char c)

將字元 c 寫入裝置。成功時返回 true;否則返回 false。(一次只操作乙個字元)

void qiodevice::ungetchar(char c)

將字元 c 放回裝置, 並減少當前位置, 除非位置為0。此函式通常被呼叫為 "撤消" getchar () 操作, 例如在編寫回溯分析器時。

如果以前未從裝置讀取 c, 則該行為未定義。(一次只操作乙個字元)

[virtual] qint64 qfile::size() const

獲取檔案的大小

[virtual] bool qfiledevice::seek(qint64 pos)

定位到檔案的任意位置

[virtual] qint64 qfiledevice::pos() const

獲取當前的位置

[virtual] bool qfiledevice::atend() const

判斷是否到達了檔案的末尾(如果已達到檔案的末尾, 則返回 true。否則返回 false。)

例子(建立檔案並寫入資料):

//以只寫的方式開啟,如果檔案不存在,那麼會建立該檔案

qfile file("myfile.txt");

if(!file.open(qiodevice::writeonly | qiodevice::text))

qdebug()<

file.write("helloqt!");

file.close();

QT 檔案操作 QFile

目錄 qfile類介紹 寫入資料到txt檔案 例項 從txt檔案中讀取所有資料 例項 從txt檔案中一行一行讀取資料 例項 部分函式引數及作用 qiodevice 類是 qt 中所有 i o 裝置的基礎介面類,為諸如 qfile qbuffer 和 qtcpsocket 等支援讀 寫資料塊的裝置提供...

QT 檔案操作 QFile

qfile簡介 繼承自qiodevice qiodevice 類是 qt 中所有 i o 裝置的基礎介面類,為諸如 qfile qbuffer 和 qtcpsocket 等支援讀 寫資料塊的裝置提供了乙個抽象介面。qfile類提供乙個用於讀 寫檔案的介面,它是乙個可以用來讀寫文字檔案 二進位制檔案和...

使用QFile進行檔案操作

qfile類我我們提供了操作檔案的常用功能。它是一種io裝置,可以用來讀寫文字檔案和二進位制檔案,也可以用來讀寫qt的資源檔案。qfile類可以單獨使用,該類本身提供了read write函式,但更方便的方式是,將qfile和qtextstream或qdatastream一起使用。一般情況下,使用q...