下面是一个示例代码,用于将二进制数据写入文件中。如果文件不存在,则会自动创建文件。
#include <QFile>
#include <QDataStream>
void writeBinaryFile(const QString& fileName, const QByteArray& data)
{
QFile file(fileName);
if (file.open(QIODevice::WriteOnly))
{
QDataStream out(&file);
out.writeRawData(data.constData(), data.size());
file.close();
}
}
在此示例中,我们使用QFile
和QDataStream
类来打开并写入二进制数据。如果QFile
对象的open()
函数成功打开了文件,则可以使用QDataStream
的writeRawData()
函数将数据写入文件中。最后,记得关闭文件。
如果需要读取二进制文件,请参考以下示例代码:
#include <QFile>
#include <QDataStream>
QByteArray readBinaryFile(const QString& fileName)
{
QByteArray data;
QFile file(fileName);
if (file.open(QIODevice::ReadOnly))
{
QDataStream in(&file);
while (!in.atEnd())
{
char buffer[1024];
qint64 bytesRead = in.readRawData(buffer, sizeof(buffer));
data.append(buffer, bytesRead);
}
file.close();
}
return data;
}
在此示例中,我们使用QFile
和QDataStream
类来打开并读取二进制数据。我们使用while
循环和readRawData()
函数从文件中读取数据,并将其附加到QByteArray
对象中。最后,我们返回读取的数据。
注意:这两个函数仅适用于二进制数据。如果需要读取文本文件,请使用QTextStream
类而不是QDataStream
类。