zoukankan      html  css  js  c++  java
  • QT -- 文件操作 QFile

    QFile简介

    继承自QIODevice

    QIODevice 类是 Qt 中所有 I/O 设备的基础接口类,为诸如 QFile、QBuffer 和 QTcpSocket 等支持读/写数据块的设备提供了一个抽象接口。。

    QFile类提供一个用于读/写文件的接口,它是一个可以用来读写文本文件、二进制文件和Qt资源的 I/O 设备。

    QFile可以单独使用,也可以和QTextStream 或者QDataStream 一起使用。

    一个文件使用open()打开,使用close()关闭,使用flush()刷新。

    示例代码:

     写入数据到txt文件

    QFile file("C:\Users\admin\Desktop\test.txt");
    if(!file.open(QIODevice::WriteOnly))//以写的方式打开文件,如果文件不存在则创建,
        qDebug()<<file.errorString();
     
    QByteArray buf = "bbbbbbbbbbb";
    file.write(buf);//写入文件,支持QByteArray和 char * 类型数据写入
     
    file.close();//关闭文件

    从txt文件中读取所有数据

    QFile file("C:\Users\admin\Desktop\test.txt");
    if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件
        qDebug()<<file.errorString();
     
    QByteArray buf = file.readAll();//读取文件所有数据
    qDebug()<<"buf: "<<buf;
     
    file.close();//关闭文件

    从txt文件中一行一行读取数据

    QFile file("C:\Users\admin\Desktop\test.txt");
    if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件
        qDebug()<<file.errorString();
     
    while(file.atEnd() == false)//文件没到末尾就执行循环体内容
    {
        QByteArray buf = file.readLine();//读取一行的数据
        qDebug()<<buf;
    }
     
    file.close();//关闭文件

    部分函数参数及作用

    文件的数据读/写一般使用QDataStream 或者 QTextStream 来完成,不过也可以使用继承自 QIODevice 类的一些函数,如:

     

     

  • 相关阅读:
    【TJOI2015】弦论 (后缀数组)
    再见,高中;你好,大学
    我亲爱的朋友们
    将容斥系数隐含在式子中的方法
    一个奇妙的斯特林数推导
    CSP2019游记
    CSP2019初赛游记
    NOI2019游记
    老年选手康复训练
    CTS/APIO2019 游记
  • 原文地址:https://www.cnblogs.com/zzzsj/p/14592224.html
Copyright © 2011-2022 走看看