赞
踩
本文将理解QByteArray在文件操作的使用细节。
#include <QFile> #include <QDebug> #include <iostream> using namespace std; int main(void) { // 待写入数据 qint8 nums[]={1, 2, 3, 4, 5}; // 以二进制方式存储到 byteArr 中 QByteArray byteArr; byteArr.resize(sizeof(nums)); memcpy(byteArr.data(), nums, sizeof(nums)); // 将 byteArr 字节数组存储到文件中 QFile file("E:/LJX/QT/test/demo.bin"); file.open(QIODevice::WriteOnly); file.write(byteArr); file.close(); // 再次打开文件,读出数据 file.open(QIODevice::ReadOnly); QByteArray resArr = file.readAll(); // 打印数据 qDebug() << resArr; qint8 *data = (qint8 *)resArr.data(); // qDebug("%s", data); // 字符串输出将会是乱码 for(int i = 0; i < resArr.length(); i++) { qDebug("%#04x", *data); data++; } return 0; }
运行该段代码,控制台将输出以下结果:
"\x01\x02\x03\x04\x05"
0x01
0x02
0x03
0x04
0x05
[1] QFile文件操作
http://c.biancheng.net/view/9430.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。