qt c++ 读写二进制文件
时间: 2024-09-18 14:14:09 浏览: 83
QT打开二进制文件,串口分包定时发送,qt串口发送数据,QT源码.zip.zip
5星 · 资源好评率100%
在Qt C++中,读写二进制文件通常使用`QFile`和`QDataStream`这两个类。以下是基本的操作步骤:
### 写入二进制文件
1. 创建`QFile`对象并打开文件(假设你想写入名为"example.bin"的文件):
```cpp
QFile file("example.bin", QIODevice::WriteOnly);
if (!file.open()) {
qDebug() << "Failed to open file";
}
```
2. 创建一个`QDataStream`对象并将它绑定到文件:
```cpp
QDataStream out(&file, QIODevice::Binary);
```
3. 使用`writeRawData()`或`writeBytes()`方法写入二进制数据:
```cpp
char data[] = {0x01, 0x02, 0x03, ...}; // 你的二进制数据
out.writeRawData(data, sizeof(data));
```
4. 关闭文件:
```cpp
file.close();
```
### 读取二进制文件
1. 打开文件用于读取:
```cpp
QFile file("example.bin", QIODevice::ReadOnly);
if (!file.open()) {
qDebug() << "Failed to open file";
}
```
2. 创建`QDataStream`并绑定到文件:
```cpp
QDataStream in(&file, QIODevice::Binary);
```
3. 使用`readRawData()`或`readBytes()`从文件中读取二进制数据:
```cpp
char data[10]; // 假设你知道要读取多少字节
in.readRawData(data, sizeof(data));
```
4. 关闭文件:
```cpp
file.close();
```
注意,确保处理文件操作时考虑到异常情况,例如文件不存在或权限不足。
阅读全文