qt4:二进制数据的读和写
来源:互联网 发布:dnf端口辅助破解器 编辑:程序博客网 时间:2024/04/25 02:18
qt4:二进制数据的读和写
在qt4中可以使用QFie直接对文件进行读写,也可以和QDataStream配合起来进行读写.但是他们之间是有很大区别的.本人用配合的方式读入一个二进制文件再写回去就发现文件再也打不开了,提示格式不对!于是仔细比对源文件和写入的文件发现是写入的文件在头部多出了四个字节,就是这四个字节造成了文件格式不能被识别.这四个字节是用来保存qt中的magic Number的,所以如果希望去掉这四个字节的话就不能把QFile和QDataStream配合来写入数据了.
通常配合使用的写法如下:
QFile file("c:/a.rar");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out.setVersion(9);
out<<bydata; 或者 file.write(bydata,bydata.length());
file.close();
这样你的文件的开头就被加入了魔法字符了.
单独使用QFile读取二进制数据的方法:
QFile file(filename);
file.open(QIODevice::ReadOnly);
QByteArray bydata;
bydata=file.readAll();
file.close();
单独使用Qfile写入二进制数据的方法:
QFile file1("c:/b.rar");
file1.open(QIODevice::WriteOnly);
file1.write(bydata);
file1.close();
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lhfeng/archive/2007/11/28/1905835.aspx
- qt4:二进制数据的读和写
- qt4:二进制数据的读和写
- ADO写二进制数据时的注意事项
- c#二进制流的读和写(BinaryReader,BinaryWriter)
- Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
- Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
- 在读写二进制数据的时候,一定要用"rb”,“wb”
- C、C++写二进制数据到mysql的Blob字段
- C语言写二进制数据到mysql的Blob字段
- C、C++写二进制数据到mysql的Blob字段
- C语言写二进制数据到mysql的Blob字段
- 二进制和数据储存的关系
- C++写二进制数据到文件中
- Qt4的QDialog和QWidget
- 二进制数据的存入
- 关于QT4 暂时发现的QT4和QT3的区别
- 输出内存数据的二进制和十六进制的字符串表示
- 关于QT4数据动态显示的问题
- sql server中常用的几个数据类型
- qt4:调用外部应用程序
- IT精英简历
- CRM理想关键步骤:完善客户信息分析能力
- XML中的字符串中出现字符'&'查询失败
- qt4:二进制数据的读和写
- DOS下加载TCP协议通信介绍
- 用户体验中沟通的技巧
- 中亚天然气管道项目锡尔河第一条主管线穿越成功
- 3d数学基础读书笔记-坐标系篇
- 二十几岁的女孩
- 网站更换系统了,怎么让搜索引擎尽快收录呢
- 何时该用volatile?
- asp横排显示数据