Qt学习之路(56): 二进制文件读写
QFlie | 访问本地文件系统或者嵌入资源 |
QTemporaryFile | 创建和访问本地文件系统的临时文件 |
QBuffer | 读写 QByteArray |
QProcess | 运行外部程序,处理进程间通讯 |
QTcpSocket | TCP 协议网络数据传输 |
QUdpSocket | 传输 UDP 报文 |
QSslSocket | 使用 SSL/TLS 传输数据 |
- QImage p_w_picpath("philip.png");
- QMap<QString, QColor> map;
- map.insert("red", Qt::red);
- map.insert("green", Qt::green);
- map.insert("blue", Qt::blue);
- QFile file("facts.dat");
- if (!file.open(QIODevice::WriteOnly)) {
- std::cerr << "Cannot open file for writing: "
- << qPrintable(file.errorString()) << std::endl;
- return;
- }
- QDataStream out(&file);
- out.setVersion(QDataStream::Qt_4_3);
- out << quint32(0x12345678) << p_w_picpath << map;
- quint32 n;
- QImage p_w_picpath;
- QMap<QString, QColor> map;
- QFile file("facts.dat");
- if (!file.open(QIODevice::ReadOnly)) {
- std::cerr << "Cannot open file for reading: "
- << qPrintable(file.errorString()) << std::endl;
- return;
- }
- QDataStream in(&file);
- in.setVersion(QDataStream::Qt_4_3);
- in >> n >> p_w_picpath >> map;
- QFile file("file.xxx");
- file.open(QIODevice::WriteOnly);
- QDataStream out(&file);
- // Write a header with a "magic number" and a version
- out << (quint32)0xA0B0C0D0;
- out << (qint32)123;
- out.setVersion(QDataStream::Qt_4_0);
- // Write the data
- out << lots_of_interesting_data;
- QFile file("file.xxx");
- file.open(QIODevice::ReadOnly);
- QDataStream in(&file);
- // Read and check the header
- quint32 magic;
- in >> magic;
- if (magic != 0xA0B0C0D0)
- return XXX_BAD_FILE_FORMAT;
- // Read the version
- qint32 version;
- in >> version;
- if (version < 100)
- return XXX_BAD_FILE_TOO_OLD;
- if (version > 123)
- return XXX_BAD_FILE_TOO_NEW;
- if (version <= 110)
- in.setVersion(QDataStream::Qt_3_2);
- else
- in.setVersion(QDataStream::Qt_4_0);
- // Read the data
- in >> lots_of_interesting_data;
- if (version >= 120)
- in >> data_new_in_XXX_version_1_2;
- in >> other_interesting_data;
转载于:https://blog.51cto.com/devbean/293892
Qt学习之路(56): 二进制文件读写相关推荐
- 《Qt 学习之路 2》
Home / Qt 学习之路 2 / <Qt 学习之路 2>目录 <Qt 学习之路 2>目录 序 Qt 前言 Hello, world! 信号槽 自定义信号槽 Qt 模块简介 ...
- QT学习之路2 学习笔记
QT学习之路2 学习笔记 1.Qt 是一个著名的 C++ 应用程序框架.你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个&quo ...
- 转载: Qt 学习之路 2归档
Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/
- 对QT学习之路12-14的源代码补充与修正
QT学习之路12-14的源代码有些不完整,为了更好的让大家学习,本人做了一点修正与补充,谢谢.源代码如下: 头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H ...
- java qt gui_工控编程,Qt 学习之路
原标题:工控编程,Qt 学习之路 Qt 是一个著名的 C++ 库--或许并不能说这只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI.使用 Qt,在一定程序上你获得的是一个"一站 ...
- Qt学习之路_12(简易数据管理系统)
原文地址为: Qt学习之路_12(简易数据管理系统) 前言 最近从大陆来到台湾,之间杂事很多,挤不出时间来更新博客- 这次主要是通过做一个简易的数据库管理系统,来学习在Qt中对数据库,xml,界面的各 ...
- QT学习之路(一)ubuntu 18.04的Qt Creator在线安装
文章目录 前言 一.准备工作 二.安装步骤 参考链接 前言 Qt是嵌入式开发的必备工具之一,在Linux下安装尤其重要. Qt是C++的一个库,或者说是开发框架,里面集成了一些库函数,提高开发效率. ...
- Qt学习之路(24): QPainter(改写paintEvent)
Qt学习之路(24): QPainter(改写paintEvent) 多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子.因为event比较难做例子,也就没有去写,只是把大概写 ...
- [记录]学习QT学习之路2第四天
今天学习内容对应<<QT学习之路2>>第18到23部分,主要是有关于QT事件这一部分的内容(=_=真是看到我快吐了,感觉这本书不适合我这种初学者). 先放出思维导图 难点总结 ...
最新文章
- 华数机器人码垛_冲压机器人研究现状与发展方向
- wireshark 总体结构
- 海思芯片硬件java加速_海思Hi3719C V100芯片简介
- 每天一道LeetCode-----给定字符串s和字符数组words,在s中找到words出现的位置,words内部字符串顺序无要求
- 好程序员Java分享Java案例_英汉字典
- java this() super()_java中的this和super
- HDSF主要节点解说(二)工作原理
- C++析构函数与构造函数深拷贝浅拷贝(C++初学面向对象编程)
- myeclipse Could not create the view
- vue-cli3+cordova实现app混合开发
- 十进制到二进制的转换
- 程序员写文档工具推荐,让你爱上写文档!
- 百度地图获取行政区划边界
- 【MyEcplise】build workspace卡死
- libpcap简介及网络监测系统
- 系统平台补流量会影响店铺吗?
- mac 下安装swoole
- 计算机二级等级证书Java考试-模拟试题1
- 简单便签程序--青柠便签
- 报错:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.base/jdk.internal.loader.Bui
热门文章
- php数据仓库数据分析,利用Apache+PHP+MySql构建数据仓库
- ubuntu创建vim php文件,在ubuntu 上配置vim的php开发环境
- iOS12系统应用发送邮件中的附件
- John the Ripper
- list对象排序java_【Java】list对象(类)按某个属性排序
- 领域计算机控制系统分为,计算机测控系统概述
- 150名打工人被AI判定“效率低”遭开除,网友:属实是人工智能,能治工人
- 俄罗斯黑客收到500万美元赎金!美国燃油管道商认怂,民众为抢汽油大打出手...
- 擦掉纹身的AI火了:再现无暇皮肤,网友却发现“伏地魔” | Reddit热议
- 微软这次发布会巨硬:安卓折叠手机、双屏电脑,还有无线耳机和超薄平板