IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> QFile文件处理 -> 正文阅读

[C++知识库]QFile文件处理

QFile文件处理

  • QFile类用于文件操作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。
  • 处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类。处理临时文件可以使用QTemporaryFile,获取信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher.

QTextStream的流操作符
在这里插入图片描述

QFile QTextStream操作文件示例:
新建控制台引用程序,编辑main函数,main.cpp添加头文件:

?
文件读取

//文件读取
    QFile file("hello.txt");
    if(file.open(QIODevice::ReadOnly)){
        char buffer[100];

        qint32 n;
        n = file.readLine(buffer, sizeof(buffer));//返回-1表示失败
        if(n != -1){    //成功
            qDebug() << "长度:" << n << " 内容:" << buffer;	//读取文件
        }
        file.close();
    }else{
        qDebug() << file.errorString();
    }

?

文件写入

   QFile dataFile;
   dataFile.setFileName("data.txt");
   if(dataFile.open(QFile::WriteOnly|QFile::Truncate)){
       QTextStream out(&dataFile);						//文件操作流
       out.setRealNumberPrecision(3);                  //设置输出精度位数为3
       out.setFieldWidth(10);                          //设置输出字段宽度为10
       out.setFieldAlignment(QTextStream::AlignLeft);  //设置左对齐

	//普通方式写入
	double dPI = 3.1415926;
       out << QString("数据: ")
           << dPI ;      //写入数据

	//二进制方式写入
	int age = 18;
	out << QString("年龄: ")
           << bin      //二进制方式
           << age;     //写入数据

	//十六进制方式写入
	out << QString("年龄: ")
           << hex      //十六进制方式
           << showbase //设置显示十六进制(0x))
           << age;     //写入数据	

       file.close();
   }

?
?
二进制读写操作

//写入二进制文件
    QFile binFile("info.bat");
    if(binFile.open(QFile::WriteOnly | QFile::Truncate)){
        QDataStream out(&binFile);
        out << QString("张三")
            << QDate::fromString("2004-02-02", "yyyy-MM-dd")
            << qint32(18);
        binFile.close();
    }else{
        qDebug() << binFile.errorString();
    }

    //读取二进制文件
    if(binFile.open(QFile::ReadOnly)) {	//只读方式打开
        QDataStream in(&binFile);		//操作文件流
        QString name;
        QDate   birthday;
        qint32  age;

        in >> name >> birthday >> age;
        qDebug() << "姓名:" << name << " 出生日期:"<< birthday << " 年龄:" << age;
        binFile.close();
    }else{
        qDebug() << binFile.errorString();
    }

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 15:59:31  更:2022-04-06 15:59:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:25:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码