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

相关文章

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:没有取消按钮 测试效果缺陷:无法手动停

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

Qt实现文件的压缩和解压缩操作

《Qt实现文件的压缩和解压缩操作》这篇文章主要为大家详细介绍了如何使用Qt库中的QZipReader和QZipWriter实现文件的压缩和解压缩功能,文中的示例代码简洁易懂,需要的可以参考一下... 目录一、实现方式二、具体步骤1、在.pro文件中添加模块gui-private2、通过QObject方式创建

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript