QDataStream 的用法示例
时间: 2024-09-19 19:14:27 浏览: 41
Qt 文件操作学习例程源码
QDataStream 是 Qt 库中用于数据流操作的类,它提供了一种方便的方式来读取和写入二进制文件、内存缓冲区或其他数据源,特别适合于跨平台的数据交换。下面是一个简单的 QDataStream 使用示例:
```cpp
#include <QDataStream>
#include <iostream>
// 定义一个结构体
struct Person {
QString name;
int age;
};
int main() {
// 创建一个 Person 对象
Person person = {"Alice", 25};
// 创建一个 QDataStream 对象,并设置输入模式(默认为输出)
QDataStream out(&std::cout, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_5_0); // 设置兼容版本
// 将 Person 数据写入流中
out << person;
// 创建另一个 QDataStream 对象,这次设置输入模式
QDataStream in(std::cin, QIODevice::ReadOnly);
// 从流中读取 Person 数据
Person loadedPerson;
in >> loadedPerson;
std::cout << "Loaded person: " << loadedPerson.name << ", " << loadedPerson.age << "\n";
return 0;
}
```
在这个例子中,我们首先创建了一个 `Person` 对象,然后通过 `QDataStream` 将其写入标准输出流。接着,从标准输入流读取并重构 `Person` 对象。这样就可以在不同的地方保存和加载具有结构化的数据。
阅读全文