Qt描述路径Qfile时绝对路径不明错误

2023-12-21 09:48

本文主要是介绍Qt描述路径Qfile时绝对路径不明错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我日那些看不见的字符!!!
我折腾了2天艹

感谢:\u202a 神奇的控制字符 让我知道了路径不能随便粘贴……

起因是这样的,我想试一下qt的正则表达式截取文件内容,需要QFile取文件路径,结果我习惯性地从文件属性的安全里找对象路径(文件属性->安全->对象名称处复制)
在这里插入图片描述
然后我粘在了一个按钮代码上(正则表达式还没用上呢)

void MainWindow::on_pushButton_clicked()
{QString displayString;std::string a="‪C:\\Users\\23216\\Desktop\\1.txt";//这是文件属性粘的
//    std::string a="C:\\Users\\23216\\Desktop\\1.txt";//这是手敲的QFile file(QString::fromStdString(a));qDebug()<<file.errorString();qDebug()<<file.fileName();if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug()<<"Can't open the file!"<<endl;}while(!file.atEnd()){QByteArray line = file.readLine();QString str(line);qDebug()<< str;displayString.append(str);}
}

结果输出是这样的,
在这里插入图片描述

调试时发现前面总有一传诡异字符,这样路径确实不对了
在这里插入图片描述

后来
我试了路径符号,证实了"\\""/"是一样的,只有“\”是单纯的转义字符不正确。

再后来,我不断地试验函数

//QString::fromLocal8Bit() (曾经在Windows上路径的问题这样解决过)
QFile file(QString::fromLocal8Bit("C:\\Users\\23216\\Desktop\\1.txt"));//string、QString::fromStdString(a)组合,试着去除怪异字符
string a ="‪C:\\Users\\23216\\Desktop\\1.txt"
QString::fromStdString(a)

但是这个字符阴魂不散……我各种搜索绝对路径为什么不管用……证实方向错误是致命的,他会让你缘木求鱼。

再再后来索性直接搜索调试时路径上的奇怪字符
\u202a 神奇的控制字符

再后来手敲了一遍……就成了…………

这让我有了信心——一般来说引用绝对路径的函数不会出错,除非路径出错。

这篇关于Qt描述路径Qfile时绝对路径不明错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519497

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停