pos機(jī)寫文件失敗是什么意思,Qt之讀寫文件

 新聞資訊2  |   2023-05-25 12:30  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)寫文件失敗是什么意思,Qt之讀寫文件的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)寫文件失敗是什么意思的問(wèn)題,今天pos機(jī)之家(m.dsth100338.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!

本文目錄一覽:

1、pos機(jī)寫文件失敗是什么意思

pos機(jī)寫文件失敗是什么意思

1.思路

讀寫文件的基本操作:

讀文件

寫文件

打開文件

打開文件

讀取文件

寫入文件

關(guān)閉文件

關(guān)閉文件

2.QFile實(shí)現(xiàn)讀寫文件

QFile類提供讀寫文件的接口。 它的構(gòu)造函數(shù)如下: QFile(const QString & name) QFile(QObject * parent) QFile(const QString & name, QObject * parent) 通過(guò)它的構(gòu)造函數(shù)我們可以知道,可以直接在調(diào)用構(gòu)造函數(shù)的時(shí)候直接傳遞文件名給QFile類,這是常用的方法,或者我們先生成QFile對(duì)象,然后調(diào)用setFileName()方法來(lái)設(shè)置文件。 其中文件名中的路徑分隔符要求必須是’/’,其他分隔符QFile不支持。 然后再了解下QFile的常用函數(shù)以及打開文件的模式類型: QFile的常用函數(shù):

函數(shù)名

功能

copy()

復(fù)制文件

exists()

檢查文件是否存在

open()

打開文件

remove()

刪除文件

rename()

修改文件名

setFileName()

設(shè)置文件名

size()

文件大小

pos()

文件光標(biāo)當(dāng)前位置

seek()

設(shè)置文件光標(biāo)位置

atEnd()

判斷當(dāng)前是否為文件尾

read()

讀取文件內(nèi)容

close()

關(guān)閉文件

文件打開模式

【領(lǐng)QT開發(fā)教程學(xué)習(xí)資料,點(diǎn)擊下方鏈接莬費(fèi)領(lǐng)取↓↓,先碼住不迷路~】

點(diǎn)擊→領(lǐng)取「鏈接」

模式

描述

QIODevice::NotOpen

0x0000

不打開

QIODevice::ReadOnly

0x0001

只讀方式

QIODevice::WriteOnly

0x0002

只寫方式,如果文件不存在則會(huì)自動(dòng)創(chuàng)建文件

QIODevice::ReadWrite

ReadOnly | WriteOnly

讀寫方式

QIODevice::Append

0x0004

此模式表明所有數(shù)據(jù)寫入到文件尾

QIODevice::Truncate

0x0008

打開文件之前,此文件被截?cái)啵瓉?lái)文件的所有數(shù)據(jù)會(huì)丟失

QIODevice::Text

0x0010

讀的時(shí)候,文件結(jié)束標(biāo)志位會(huì)被轉(zhuǎn)為’\’;寫的時(shí)候,文件結(jié)束標(biāo)志位會(huì)被轉(zhuǎn)為本地編碼的結(jié)束為,例如win32的結(jié)束位’\\’

QIODevice::UnBuffered

0x0020

不緩存

下面通過(guò)代碼來(lái)看看QFile的使用:

//example 1 QFile file("test.csv"); //已讀寫方式打開文件, //如果文件不存在會(huì)自動(dòng)創(chuàng)建文件 if(!file.open(QIODevice::ReadWrite)){ //ReadOnly文件不存在,打開失敗 //WriteOnly文件不存在,會(huì)自動(dòng)創(chuàng)建文件 //ReadWrite文件不存在,會(huì)自動(dòng)創(chuàng)建文件 //Append文件不存在,會(huì)自動(dòng)創(chuàng)建文件 //Truncate文件不存在,打開失敗 //Text文件不存在,打開失敗 //Unbuffered文件不存在,打開失敗 qDebug()<<"打開失敗"; }else{ qDebug()<<"打開成功"; } //操作文件 //關(guān)閉文件 file.close();

寫文件

//example 2 QFile file("test.csv"); //判斷文件是否存在 if(file.exists()){ qDebug()<<"文件已存在"; }else{ qDebug()<<"文件不存在"; } //已讀寫方式打開文件, //如果文件不存在會(huì)自動(dòng)創(chuàng)建文件 if(!file.open(QIODevice::ReadWrite)){ qDebug()<<"打開失敗"; }else{ qDebug()<<"打開成功"; } //獲得文件大小 qint64 pos; pos = file.size(); //重新定位文件輸入位置,這里是定位到文件尾端 file.seek(pos); QString content = "welcome to BeiJing"; //寫入文件 qint64 length = -1; length = file.write(content.toLatin1(),content.length()); if(length == -1){ qDebug()<<"寫入文件失敗"; }else{ qDebug()<<"寫入文件成功"; } //關(guān)閉文件 file.close();

控制臺(tái)運(yùn)行結(jié)果:

打開文件看看里面的內(nèi)容:

正是我們程序中寫入的內(nèi)容。

讀文件 我們現(xiàn)在test.csv文件內(nèi)準(zhǔn)備兩行數(shù)據(jù)

代碼如下:

QFile file("test.csv"); //判斷文件是否存在 if(file.exists()){ qDebug()<<"文件已存在"; }else{ qDebug()<<"文件不存在"; } //已讀寫方式打開文件, //如果文件不存在會(huì)自動(dòng)創(chuàng)建文件 if(!file.open(QIODevice::ReadWrite)){ qDebug()<<"打開失敗"; }else{ qDebug()<<"打開成功"; } //讀取文件 int line = 1; //判斷文件是否已經(jīng)讀到末尾了 while(!file.atEnd()){ char buffer[1024]; //讀取一行數(shù)據(jù) qint64 length = file.readLine(buffer,1024); if(length != -1){ qDebug()<<line++<<":"<<buffer; } } //關(guān)閉文件 file.close();

控制臺(tái)輸出結(jié)果如下:

和我們開始文件中準(zhǔn)備的內(nèi)容一致,表明已成功讀取。

以上就是關(guān)于pos機(jī)寫文件失敗是什么意思,Qt之讀寫文件的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)寫文件失敗是什么意思的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請(qǐng)帶上網(wǎng)址:http://m.dsth100338.com/newsone/55648.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。