qt读写文本文件

这篇具有很好参考价值的文章主要介绍了qt读写文本文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用QFile类进行读写,使用Open函数打开文件,打开方式有:

QIODevice::NotOpen 0x0000 不打开

QIODevice::ReadOnly 0x0001 只读方式

QIODevice::WriteOnly 0x0002 只写方式,如果文件不存在则会自动创建文件

QIODevice::ReadWrite ReadOnly | WriteOnly 读写方式

QIODevice::Append 0x0004 此模式表明所有数据写入到文件尾

QIODevice::Truncate 0x0008 打开文件之前,此文件被截断,原来文件的所有数据会丢失

QIODevice::Text 0x0010 读的时候,文件结束标志位会被转为’\n’;写的时候,文件结束标志位会被转为本地编码的结束为,例如win32的结束位’\r\n’

QIODevice::UnBuffered 0x0020 不缓存

第一种办法:QFile类的iodevice读写,即调用QIODevice类的函数

读:read、readall函数

写:write函数

#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
    //创建 QFile 对象,同时指定要操作的文件
    QFile file("D:/demo.txt");
    //对文件进行写操作
    if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){
        qDebug()<<"文件打开失败";
    }
    //向文件中写入两行字符串
    file.write("C语言中文网\n");
    file.write("http://c.biancheng.net");
    //关闭文件
    file.close();

    //重新打开文件,对文件进行读操作
    if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){
        qDebug()<<"文件打开失败";
    }
    //每次都去文件中的一行,然后输出读取到的字符串
    char * str = new char[100];
    qint64 readNum = file.readLine(str,100);
    //当读取出现错误(返回 -1)或者读取到的字符数为 0 时,结束读取
    while((readNum !=0) && (readNum != -1)){
        qDebug() << str;
        readNum = file.readLine(str,100);
    }
    file.close();
    return 0;
}

第二种办法:QFile + QTextStream 结合

读:readall、readline

写:<<

写文件文章来源地址https://www.toymoban.com/news/detail-498578.html

void writeTxt()
{
    // 文件位置
    QFile file("test.txt");
    if(!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
    {
        return;
    }
    // 文件流
    QTextStream stream(&file);
    // 输入内容
    stream << "你好";
    stream << "111";
    file.close();
}
std::vector<QString> readTxt()
{
    // 返回值
    std::vector<QString> strs;
    // 读取文件位置
    QFile file("test.txt");
   
    if(!file.open(QIODevice::ReadOnly))
    {
        return strs;
    }
    // 文件流
    QTextStream stream(&file);
    // 一行一行的读
    while(!stream.atEnd())
    {
        QString line = stream.readLine();
        strs.push_back(line);
    }
    file.close();
    return strs;
}

到了这里,关于qt读写文本文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt多线程读写大型文本文件项目

    目录 一 功能列表 二 架构设计 三 代码实现 四 软件原型效果 五 测试验证 六 项目工程打包发布 七 项目完整源码获取 显示文件路径选择框,仅展示 .txt类型文件可选; 读取文本文件,显示到桌面控件中; 读取的文件使用多线程处理,不影响显示界面正常操作; 读取过来

    2024年02月01日
    浏览(45)
  • 【头歌】——数据分析与实践-基于Python语言的文件与文件夹管理-文本 文件处理-利用csv模块进行csv文件的读写操作

    第1关 创建子文件夹 第2关 删除带有只读属性的文件 第3关 批量复制文件夹中的所有文件 未通过本题,如果您通过了本题欢迎补充到评论区,有时间我会整理进来 第1关 读取宋词文件,根据词人建立多个文件 第2关 读取宋词文件,并根据词人建立多个文件夹 第3关 读取宋词文

    2024年01月25日
    浏览(71)
  • QT-如何使用RS232进行读写通讯

    以下是一个使用Qt进行RS232通讯的具体示例,包括读取和写入数据的操作: 在这个示例中,我们定义了一个全局的 QSerialPort 对象 serial 用于串口通讯。首先设置串口名称和波特率,并打开串口。通过连接 readyRead 信号到 readData 槽函数来读取串口数据。 readData 函数读取串口数据

    2024年02月13日
    浏览(48)
  • 如何使用C语言进行读写文件

    目录 文章目录 前言 什么是文件 文件名 文件的打开与关闭 文件的打开与关闭 文件的顺序读写 字符读写 文本行的读写 格式化输入输出 二进制文件输入输出 文件的随机读写  文件操作知识拓展  文本文件和二进制文件 文件结束判定  文件缓冲区 总结 文件操作可能看起来很

    2024年02月07日
    浏览(51)
  • C语言--文件操作详解(2)(文本文件和二进制文件,文件读取结束的判定,用函数进行文件的拷贝,文件缓冲区)

    本篇文章主要介绍了文本文件和二进制文件,文件读取结束的判定,如何使用函数进行文件的拷贝,文件缓冲区的相关知识。 以及具有保存功能的八功能通讯录的源码。 据数据的组织形式,数据文件被称为文本文件或者二进制文件。 ①数据在内存中以二进制的形式存储,如

    2024年02月08日
    浏览(46)
  • 【c语言】文本文件的读写操作

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡𖥦)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c语言系列专栏:c语言之路重点知识整合 🔥 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ 本文基

    2024年01月17日
    浏览(40)
  • VBA下载二进制文件,文本读写

    这里使用了vba如下两个对象: Microsoft.XMLHTTP :文件读写,可读写二进制,可指定编码,对于utf-8编码文本文件使用FSO的TextStream对象打开,读取到的内容可能会出现乱码,可以使用该对象打开;前期绑定添加引用: Microsoft ActiveX Data Objects 2.8 Microsoft.XMLHTTP :发送请求并获得返回,

    2024年02月16日
    浏览(65)
  • 关于C#读写文本文件(.txt)的方法

    读写文本文件其实是件很简单的事情,本文主要给大家介绍了关于C#读写文本文件(.txt)的相关资料,需要的朋友可以参考下 读取txt文件 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(filePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法。它们都一次性将文本内

    2024年02月15日
    浏览(39)
  • qt中使用 ui 文件进行界面设计

    目录 1、创建 Qt 应用 ​2、项目创建成功 3、直接点击打开 mainwindow.ui 文件 4、随便从左边侧边栏拖拽一个空间到 界面设计区域 5、在右侧边栏右键点击 pushButton 控件,点击转到槽 6、根据实际需要选择对应的信号,我这里方便演示选择 clicked()信号,直接点击 OK 7、自动在

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包