QT 如何输出 QTextStream 为1024 byte 到二进制文件
时间: 2024-03-10 12:45:33 浏览: 24
您可以使用 QFile 类和 QTextStream 类,将 QTextStream 的数据读取到一个 QByteArray 对象中,然后使用 QFile 类将 QByteArray 的数据写入二进制文件。以下是一个示例代码:
```cpp
QFile file("example.bin");
if (file.open(QIODevice::WriteOnly)) {
QTextStream in(&file);
QByteArray buffer;
buffer.resize(1024);
qint64 bytesRead = 0;
while ((bytesRead = in.readRawData(buffer.data(), 1024)) > 0) {
// 将读取的数据写入二进制文件
file.write(buffer, bytesRead);
}
file.close();
}
```
在上面的示例中,我们首先创建一个名为 "example.bin" 的二进制文件,并使用 QFile 类将其打开以进行写入操作。然后,我们创建一个 QTextStream 对象,以读取要写入二进制文件的数据。在 while 循环中,我们使用 QTextStream 的 readRawData() 函数来读取指定字节数的数据,并将其存储在一个 QByteArray 对象中。然后,我们使用 QFile 的 write() 函数将 QByteArray 对象中的数据写入二进制文件中。最后,我们使用 QFile 的 close() 函数关闭文件。
请注意,这里创建的是一个二进制文件,因此不进行文本编码转换。如果要写入文本文件,请使用 QTextStream 的 read() 函数。