Qt 二进制文件读写(使用“魔术数字”)
| QFlie | 访问本地文件系统或者嵌入资源 |
| QTemporaryFile | 创建和访问本地文件系统的临时文件 |
| QBuffer | 读写 QByteArray |
| QProcess | 运行外部程序,处理进程间通讯 |
| QTcpSocket | TCP 协议网络数据传输 |
| QUdpSocket | 传输 UDP 报文 |
| QSslSocket | 使用 SSL/TLS 传输数据 |
- QImage image("philip.png");
- QMap 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) << image << map;
- quint32 n;
- QImage image;
- QMap 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 >> image >> 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_
http://blog.sina.com.cn/s/blog_a401a1ea0101ffnb.html
Qt 二进制文件读写(使用“魔术数字”)的更多相关文章
- Qt 学习之路:二进制文件读写
在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用.我们提到,QIODevice提供了read().readLine()等基本的操作.同时,Qt 还提供了更高一级的操作:用于二进制的 ...
- Qt 学习 之 二进制文件读写
在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用.我们提到,QIODevice提供了read().readLine()等基本的操作.同时,Qt 还提供了更高一级的操作:用于二进制的 ...
- Qt 学习之路 2(36):二进制文件读写
Qt 学习之路 2(36):二进制文件读写 豆子 2013年1月6日 Qt 学习之路 2 20条评论 在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用.我们提到,QIODevice ...
- [转载:]Fortran 二进制文件读写
一些朋友总是咨询关于二进制文件的读写和转化.这里就我自己的理解说一说. 一).一般问题 二进制文件与我们通常使用的文本文件储存方式有根本的不同.这样的不同很难用言语表达,自己亲自看一看,理解起来会容易 ...
- JAVA核心技术I---JAVA基础知识(二进制文件读写和zip文件读写)
一:二进制文件读写 (一)写文件 –先创建文件,写入数据,关闭文件 –FileOutputStream, BufferedOutputStream,DataOutputStream –DataOutp ...
- C++二进制文件读写
简单二进制文件读写,多文件 /*Demo9.1.cpp*/ #include <iostream> #include <fstream> #include <string ...
- LeetCode 5112. 十六进制魔术数字 Hexspeak
地址 https://leetcode-cn.com/problems/hexspeak/ 题目描述字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I . 如果 ...
- QT QSettings读写配置文件
QT QSettings读写配置文件 需要用一个配置文件来保存程序的初始值,同时也需要做保存修改后的值. 那么借助于QSetting 就可以达到目的. 注意,生成的是 ini 文件! //1.创建和读 ...
- Java随谈(一)魔术数字、常量和枚举
本文适合对 Java 或 C 有一些了解的用户阅读,推荐阅读时间15分钟. 导言 写这个系列的原因? 我曾经听过一种说法,如果不了解Liunx的网络通讯,就很难理解理解Java的IO:如果不知道Jav ...
随机推荐
- Linux下Tomcat启动正常,但浏览器无法访问
1.服务器可ping通 2.服务器抓本地的http请求包,可以抓到 3.本地抓服务器返回的http响应包,抓不到 经过查找,是由于开启了Linux防火墙 查看防火墙配置(需要root权限) [root ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(三)DOCTYPE和字符集
在2.1.2节中通过新老DOCTYPE的对比,读者可以清晰地看到HTML 5在精简旧有结构上做出的努力.DOCTYPE在出现之初主要用于XML中,用作描述XML允许使用的元素.属性和排列方式.起初HT ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔
题目描述 苟利国家生死以,岂因福祸避趋之?作为ACM真正的粉丝,应该都听闻过汉诺塔问题,汉诺塔问题是这样的: 有三根柱子,编号A,B,C柱,初始情况下A柱上有n个盘子,小盘子在上大盘子在下,n个盘子大 ...
- python 函数应用
#函数的参数就是个变量 #定义函数的时候,使用关键字参数,可以指定默认值 def hello(name='reboot',age=1): return 'hello %s,your age is %s ...
- linux 截取时间段的日志
sed -n '/14:[0-9][0-9]:[0-9][0-9]/p’ haproxy.log 截取14点的日志 cat haproxy.log-20160302 | grep xslh ...
- 升级ssh编译错误
升级ssh 编译的时候遇到PAM headers not found,然后需要安装 pam-devel-1.1.1-20.el6.x86_64,自己下载了rpm包,安装报错,然后用yum -y ins ...
- 解决flash挡住层的问题
让div在flash上面 设置flash为透明: 插件代码换成如下: <object type="application/x-shockwave-flash" data=&q ...
- 《编写高质量代码-Web前端开发修改之道》笔记--第一章 从网站重构说起
本章内容: 糟糕的页面实现,头疼的维护工作 Web标准--结构.样式和行为的分离 前端的现状 打造高品质的前端代码,提高代码的可维护性--精简.重用.有序 糟糕的页面实现,头疼的维护工作 工作中最大的 ...
- AngularJS(7)-表格
ng-repeat 指令可以完美的显示表格. <!DOCTYPE html> <html lang="en"> <head> <meta ...
- sublime 经验总结 主题有 less2css
1. 安装“包控制”模块 操作步骤见该网站:https://sublime.wbond.net/installation#Simple sublime2的代码如下: import urllib2,os ...