QT开发中文网

Qt写入二进制数据文件,不存在则创建文件

下面是一个示例代码,用于将二进制数据写入文件中。如果文件不存在,则会自动创建文件。

#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();
    }
}

在此示例中,我们使用QFileQDataStream类来打开并写入二进制数据。如果QFile对象的open()函数成功打开了文件,则可以使用QDataStreamwriteRawData()函数将数据写入文件中。最后,记得关闭文件。

如果需要读取二进制文件,请参考以下示例代码:

#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;
}

在此示例中,我们使用QFileQDataStream类来打开并读取二进制数据。我们使用while循环和readRawData()函数从文件中读取数据,并将其附加到QByteArray对象中。最后,我们返回读取的数据。

注意:这两个函数仅适用于二进制数据。如果需要读取文本文件,请使用QTextStream类而不是QDataStream类。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=776

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?