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 ...
随机推荐
- Emit
http://www.cnblogs.com/zhuweisky/archive/2008/09/20/1294666.html http://www.cnblogs.com/xiaoxiangfei ...
- Android 核心组件 Activity 之上
核心组件的特征 1. 必须继承自特定的类(Activity 或者 Activity的子类) 2. 必须注册: 通常是AndroidManifest.xml的 <application> 中 ...
- ASP.NET Web API标准的“管道式”设计
详见:http://www.cnblogs.com/artech/p/asp-net-web-api-pipeline.html http://www.codeproject.com/Articles ...
- Canvas开发笔记(不断更新)
1.可以使用requestAnimationFrame函数代替setInterval.需要处理浏览器兼容问题: var w = window; requestAnimationFrame = w.re ...
- php Zend Opcache,xcache,eAccelerator缓存优化详解及对比
XCACHE XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接 ...
- Python 基础篇:介绍
1. Python 发展 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python's Flying Cir ...
- 通过 struct 成员地址 获取 struct 结构体地址
1. 问题描述: 现在定义了一个结构体: struct Foo { int a; int b; }; Foo foo; 假如由于函数传参等原因,现在程序只能拿到 foo.b 的地址,这时想通过某种方法 ...
- ASP.NET 页面传值得9种方式
1. Get(即使用QueryString显式传递) 方式:在url后面跟参数. 特点:简单.方便. 缺点:字符串长度最长为255个字符:数据泄漏在url中. 适用数据 ...
- Linux VM 设置静态ip地址上网
因为是路由器共享上网,VM每次都是通过DHCP方式自动获取ip地址,连接Linux VM时ip地址经常变,很麻烦.现在把VM设置静态ip的方法总结一下,以免以后忘了. 1. VM上网方式设置为桥接. ...
- Fedora 17安装NFS
1.NFS概述 NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司 ...