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

【读取filePath这个文件中的内容,并打印出来】+【if else 的优化】

读取filePath这个文件中的内容,并打印出来

#include <QFile>
#include <QTextStream>
#include <QDebug>

bool loadData_Current_gear_configuration(const QString& filePath)
{
    QFile file(filePath);  // 创建 QFile 对象,指向传入的文件路径

    // 尝试打开文件,检查文件是否能成功打开
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qWarning() << "Failed to open file:" << filePath;
        return false;  // 如果打开失败,返回 false
    }

    QTextStream in(&file);  // 创建 QTextStream 对象,绑定到文件
    QString fileContent = in.readAll();  // 读取文件的所有内容

    // 打印文件内容
    qDebug() << "File content:" << fileContent;

    file.close();  // 关闭文件

    return true;  // 文件成功读取并打印内容后,返回 true
}

if else 的优化

哈希映射!字符串后面也可以跟一个实际的操作!
actionMap[“200pA”] = this { radioBtn200pA->click(); };

bool loadData_Current_gear_configuration(const QString& filePath)
{
    QFile file(filePath);  // 创建 QFile 对象,指向传入的文件路径

    // 尝试打开文件,检查文件是否能成功打开
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qWarning() << "Failed to open file:" << filePath;
        return false;  // 如果打开失败,返回 false
    }

    QTextStream in(&file);  // 创建 QTextStream 对象,绑定到文件
    QString fileContent = in.readAll();  // 读取文件的所有内容

    // 打印文件内容
    qDebug() << "File content:" << fileContent;

    file.close();  // 关闭文件
    //
    /*if (fileContent == "200pA") {
        radioBtn200pA->click();
        return true;
    }
    else if(fileContent == "2nA"){
        radioBtn2nA->click();
        return true;
    }
    else if (fileContent == "20nA") {
        radioBtn20nA->click();
        return true;
    }
    else if (fileContent == "200nA") {
        radioBtn200nA->click();
        return true;
    }
    else
        return false;*/
    // 定义一个映射,将字符串映射到对应的操作
    QMap<QString, std::function<void()>> actionMap;
    actionMap["200pA"] = [this]() { radioBtn200pA->click(); };
    actionMap["2nA"] = [this]() { radioBtn2nA->click(); };
    actionMap["20nA"] = [this]() { radioBtn20nA->click(); };
    actionMap["200nA"] = [this]() { radioBtn200nA->click(); };

    // 查找并执行对应的操作
    if (actionMap.contains(fileContent)) {
        actionMap[fileContent]();
        return true;
    }
    else {
        return false;
    }
}

相关文章:

  • ubuntu 磁盘恢复
  • 假期学习总结(25.2.19)
  • Ubuntu USB耳机找不到设备解决
  • 力士乐伺服电机MSK系列型号
  • 初识Redis
  • DeepSeek 解析
  • 深入理解 lua_KFunction 和 lua_CFunction
  • 网络安全java练习平台 js网络安全
  • 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(2)
  • 【Linux】【网络】Libevent整个的使用流程总结(与接口函数结合)
  • 关于SOC与CPU的那些事
  • 网络安全钓鱼邮件测试 网络安全 钓鱼
  • React之旅-03 路由
  • Qt学习(五)自定义对话框,多窗口开发---添加设计师类, MDI多窗口开发
  • ARM TCM(itcm和dtcm)
  • 如何用ollama快速布署deepseek-r1大模型
  • 学习数据结构(11)二叉树(堆)下
  • tauri-plugin-http插件暂时不支持流传输Streaming,所以大模型的流传输就难了,所以还是用js的请求吧
  • Elasticsearch7.1.1 配置密码和SSL证书
  • 从猜想终结到算法革新,弹性哈希开启数据存储新篇章
  • 车建兴被留置:跌落的前常州首富和红星系重整迷路
  • 商务部:今年前3月自贸试验区进出口总额达2万亿元
  • “85后”贵阳市政府驻重庆办事处主任吴育材拟任新职
  • 机构发布“2025中国高职院校排名”
  • 特朗普访问卡塔尔,两国签署多项合作协议
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟