当前位置: 首页 > news >正文

QT:文件读取

问题:

在文件读取,判断md5值时,遇到py文件读取转String后,再转byte,md5前后不一致问题。

解决方法:

python文件读取要使用QTextStream,避免\t 、\r、\n的换行符跨平台问题(window系统换行符和linux换行符不一致)。

QTextStream默认帮你处理了换行符跨平台问题。

\r:回到开头   \n:换行

一般读取文件的方式是:

bool xxxxClass::readFile(const QString &filePath,QByteArray &bytes)
{
    QFile file(filePath);
    if(!file.open(QIODevice::ReadOnly)){
        QString msg = tr("Read [%1] faild: %2").arg(file.fileName(),file.errorString());
        qDebug()<<msg;
        return false;
    }
    bytes = file.readAll();
    file.close();
}

但是这样读出来的python文件会有问题,所以python要使用数据流去读取。

bool xxxxClass::readTextFile(const QString &filePath,QString &text)
{
    QFile file(filePath);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        QString msg = tr("Read [%1] faild: %2").arg(file.fileName(),file.errorString());
        qDebug()<<msg;
        return false;
    }
    QTextStream ts(&file);
    text = ts.readAll();
    file.close();
    return true;
}

http://www.dtcms.com/a/68955.html

相关文章:

  • Winform基础知识61-80
  • Vi/Vim命令详解:高效文本编辑的利器
  • std::stack和std::queue
  • 判断一个对象上有没有相关属性的优雅写法、no-undefined
  • C++ primer plus 类和对象上
  • Spring Security 的认证核心组件
  • 【mysql】centOS7安装mysql详细操作步骤!
  • Windows10安装Rust 和ZED(失败)
  • P6772 [NOI2020] 美食家
  • WebSocket的参数粗略解释
  • AVL树的平衡算法的简化问题
  • 数据类型及sizeof,进制转换
  • go中实现子模块调用main包中函数的方法
  • /etc/sysconfig/jenkins 没有这个文件
  • 计算机网络-TCP/IP协议族
  • 无再暴露源站!群联AI云防护IP隐匿方案+防绕过实战
  • netsh实现TCP端口转发
  • 40.动态规划13
  • Ansible命令行模式常用模块使用案例(三)
  • Python与Solidity联手:从跨语言智能合约开发到区块链生态跃迁
  • 实习笔试-01字符转换小写字母
  • 【AWS入门】2025 AWS亚马逊云科技账户注册指南
  • 《解锁华为黑科技:MindSpore+鸿蒙深度集成奥秘》
  • A Survey on Mixture of Experts 混合专家模型综述(第二部分:混合专家系统设计)
  • 机器学习基础
  • MyBatis 如何解析 XML 配置文件和 SQL 映射文件
  • 【综述】An Introduction to Vision-Language Modeling【二】
  • WordPress调用当前文章作者头像
  • 使用Flask和OpenCV 实现树莓派与客户端的视频流传输与显示
  • Nature | TabPFN:表格基础模型用于小规模数据分析