QT基础(七)----File文件读写
来源:互联网 发布:商城源码单用户版 编辑:程序博客网 时间:2024/06/15 10:35
一 文件的读写
头文件 MyWidget.h
#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>class MyWidget : public QWidget{ Q_OBJECTpublic: explicit MyWidget(QWidget *parent = 0);signals:public slots:};#endif // MYWIDGET_H
源文件MyWidget.cpp
#include "MyWidget.h"#include<QApplication>#include<QFile>#include<QByteArray> //字节#include<QDebug>#include<QBuffer>#include<QPixmap>#include<QLabel>#include<QTextStream>#include<QDataStream>/* * <QIODevice>类是所有QT关于文件操作的父类 * QFile * QBuffer 内存文件,IO的目标 * QTcpSocket * QUdpSocket * QDataStream 数据流,实质是IO的方法 * QTextStream 文本流 **/MyWidget::MyWidget(QWidget *parent) : QWidget(parent){#if 0 QFile file("../text.txt"); //指定要打开的文件 file.open(QIODevice::ReadWrite); //打开文件的模式 file.write("abc"); //向文件里写东西,有多个重载函数 file.close(); //关闭文件 QString str("中国"); // QByteArray qba("中国"); //传递东西的时候一般用这个,传递原始数据,任何数据都可以 qDebug()<< str.size() << qba.size(); //打印 2 6 file.close();#endif#if 0 QBuffer buffer; //直接存在内存中,相对于其他的要快 buffer.open(QIODevice::ReadWrite); buffer.write("ABCDEFG"); buffer.write("abcdefg"); buffer.close(); qDebug()<<buffer.buffer(); //查看buffer中的内容,打印ABCDEFGabcdefg buffer.close();#endif#if 0 //图100 //内存文件的应用 //将文件读到内存中 QBuffer buffer; buffer.open(QIODevice::ReadWrite); QPixmap pixmap = ("../pic.jpg"); pixmap.save(&buffer, "JPG"); //第二个参数保存文件格式 qDebug()<<buffer.size(); //将内存中的数据读出来 QPixmap pixmap2; pixmap2.loadFromData(buffer.buffer(), "JPG"); //将读出来的数据打印到窗口上 QLabel *label = new QLabel(this); label->setPixmap(pixmap); buffer.close();#endif#if 0 QFile file("../testTextStream.txt"); //创建testTextStream.txt文件 file.open(QIODevice::ReadWrite); QTextStream textStream(&file); //绑定输出路径 //输出:??-???China123456 textStream<<"中国"<<"China"<<123456; //将输入转化为字符串,方便写入但是不方便读出 file.close();#endif#if 0 //方便写入和读出 QFile file("../testDataStream.txt"); file.open(QIODevice::ReadWrite); QDataStream dataStream(&file); dataStream<<"中国"<<"China"<<123456<<QPoint(1, 1); //打印的东西不是人看的 file.close();#endif#if 0 //将刚刚写入文件的数据读进来 QFile file("../testDataStream.txt"); file.open(QIODevice::ReadWrite); QDataStream dataStream(&file); char *ch; char *ch2; int num; QPoint pt; dataStream>>ch>>ch2>>num>>pt; //读数据,自动格式化 qDebug()<<ch<<ch2<<num<<pt; //打印:中国 China 123456 QPoint(1,1) file.close();#endif //虚拟内存 QString _str = "../virtual.data"; QFile file(_str); file.open(QIODevice::ReadWrite);// file.seek(64*1024); //为虚拟内存开辟64k的空间// file.write("0"); //在最后一个字节处写一个字符// file.close(); //空间开辟好了 file.resize(_str, 64*1024); //注释掉的代码可以用着一行代码代替// file.open(QIODevice::ReadWrite); //理解关于文件映射的原理 uchar *puc = file.map(0, 64*1024); //从0字节开始开辟64k内存 puc[0] = 'a'; puc[1] = 'b'; file.unmap(puc); //关闭虚拟内存 file.close(); //结果:在上一层文件中新建一个64k大小的virtual.data文件,格式改成.txt后里边有a和b字符}int main(int argc, char *argv[]){ QApplication app(argc, argv); MyWidget w; w.show(); app.exec();}
文件打印结果都在注释中了!
其中有一个图的打印结果:
0 0
- QT基础(七)----File文件读写
- Qt Write and Read XML File 读写XML文件
- FILE*读写文件
- java File 文件读写
- file文件的读写
- FILE文件读写注意事项
- 读写文件(File)
- Qt|Qt读写ini文件
- QT 文件读写操作
- Qt 文件读写操作
- Qt读写ini文件
- Qt入门-文件读写
- Qt 读写XML文件
- QT 读写Xml文件
- QT 文件读写操作
- Qt读写ini文件
- QT读写ini文件
- Qt txt文件读写
- python安装mysqldb模块遇到的问题和解决方法
- Solr-5.5 QuickStart
- Java枚举类型小结
- Lucener认识
- SLAM实践(1)
- QT基础(七)----File文件读写
- 一元多项式相乘 - 链表的简单应用
- HDOJ3231醉
- OpenCV拉普拉斯变换
- hadoop 中常见的异常与解决办法
- 血案之后的反思:如何以正确的姿势要求iOS用户评分?
- Linux下多线程查看工具(pstree、ps、pstack)
- Android源码解析(十六)-->应用进程Context创建流程
- C++文法