网上有很多关于pos机写文件失败是什么意思,Qt之读写文件的知识,也有很多人为大家解答关于pos机写文件失败是什么意思的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!
本文目录一览:
pos机写文件失败是什么意思
1.思路读写文件的基本操作:
读文件
写文件
打开文件
打开文件
读取文件
写入文件
关闭文件
关闭文件
2.QFile实现读写文件QFile类提供读写文件的接口。 它的构造函数如下: QFile(const QString & name) QFile(QObject * parent) QFile(const QString & name, QObject * parent) 通过它的构造函数我们可以知道,可以直接在调用构造函数的时候直接传递文件名给QFile类,这是常用的方法,或者我们先生成QFile对象,然后调用setFileName()方法来设置文件。 其中文件名中的路径分隔符要求必须是’/’,其他分隔符QFile不支持。 然后再了解下QFile的常用函数以及打开文件的模式类型: QFile的常用函数:
函数名
功能
copy()
复制文件
exists()
检查文件是否存在
open()
打开文件
remove()
删除文件
rename()
修改文件名
setFileName()
设置文件名
size()
文件大小
pos()
文件光标当前位置
seek()
设置文件光标位置
atEnd()
判断当前是否为文件尾
read()
读取文件内容
close()
关闭文件
文件打开模式
【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】
点击→领取「链接」
模式
值
描述
QIODevice::NotOpen
0x0000
不打开
QIODevice::ReadOnly
0x0001
只读方式
QIODevice::WriteOnly
0x0002
只写方式,如果文件不存在则会自动创建文件
QIODevice::ReadWrite
ReadOnly | WriteOnly
读写方式
QIODevice::Append
0x0004
此模式表明所有数据写入到文件尾
QIODevice::Truncate
0x0008
打开文件之前,此文件被截断,原来文件的所有数据会丢失
QIODevice::Text
0x0010
读的时候,文件结束标志位会被转为’\’;写的时候,文件结束标志位会被转为本地编码的结束为,例如win32的结束位’\\’
QIODevice::UnBuffered
0x0020
不缓存
下面通过代码来看看QFile的使用:
//example 1 QFile file("test.csv"); //已读写方式打开文件, //如果文件不存在会自动创建文件 if(!file.open(QIODevice::ReadWrite)){ //ReadOnly文件不存在,打开失败 //WriteOnly文件不存在,会自动创建文件 //ReadWrite文件不存在,会自动创建文件 //Append文件不存在,会自动创建文件 //Truncate文件不存在,打开失败 //Text文件不存在,打开失败 //Unbuffered文件不存在,打开失败 qDebug()<<"打开失败"; }else{ qDebug()<<"打开成功"; } //操作文件 //关闭文件 file.close();
写文件
//example 2 QFile file("test.csv"); //判断文件是否存在 if(file.exists()){ qDebug()<<"文件已存在"; }else{ qDebug()<<"文件不存在"; } //已读写方式打开文件, //如果文件不存在会自动创建文件 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()<<"写入文件成功"; } //关闭文件 file.close();
控制台运行结果:
打开文件看看里面的内容:
正是我们程序中写入的内容。
读文件 我们现在test.csv文件内准备两行数据
代码如下:
QFile file("test.csv"); //判断文件是否存在 if(file.exists()){ qDebug()<<"文件已存在"; }else{ qDebug()<<"文件不存在"; } //已读写方式打开文件, //如果文件不存在会自动创建文件 if(!file.open(QIODevice::ReadWrite)){ qDebug()<<"打开失败"; }else{ qDebug()<<"打开成功"; } //读取文件 int line = 1; //判断文件是否已经读到末尾了 while(!file.atEnd()){ char buffer[1024]; //读取一行数据 qint64 length = file.readLine(buffer,1024); if(length != -1){ qDebug()<<line++<<":"<<buffer; } } //关闭文件 file.close();
控制台输出结果如下:
和我们开始文件中准备的内容一致,表明已成功读取。
以上就是关于pos机写文件失败是什么意思,Qt之读写文件的知识,后面我们会继续为大家整理关于pos机写文件失败是什么意思的知识,希望能够帮助到大家!
