首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定两个文件名是否引用同一个文件

如何确定两个文件名是否引用同一个文件
EN

Stack Overflow用户
提问于 2013-11-19 19:18:11
回答 4查看 2.7K关注 0票数 3

这是一个关于如何使用Qt的问题。我有两条路径,让我们说“c:\user\HERBIE\c\file1.txt”和“c:\user\HERBIE\stuff\file1.txt”。

我想写一个方法来告诉我,这两个路径是否引用同一个文件。此方法应在windows和linux下工作。因此我认为Qt类可以用来解决这个问题,但是我还没有找到如何解决这个问题的方法。

Windows不区分大小写,所以这两个窗口引用同一个文件。在linux上,它们会引用不同的文件。

有人知道怎么做吗?字符串比较不起作用(因为区分大小写),Qt类(如QFileInfo、QDir等)总是以构造函数设置路径的方式返回路径,而不是系统上实际存在的名称。

任何帮助都是非常感谢的!

EN

Stack Overflow用户

回答已采纳

发布于 2013-11-19 19:22:48

您需要使用#ifdef编写特定于操作系统的代码。如果在Windows上运行,则将路径转换为大写,并进行比较。如果您是在Linux上,那么就按实际情况进行比较。每个操作系统上都有一些预定义的宏可供您使用。

您可以从这里使用列表:http://sourceforge.net/p/predef/wiki/OperatingSystems/

这样,您的代码将类似于:

代码语言:javascript
运行
复制
#ifdef __WINDOWS__
// do case-insensitive compare
#else
// do case-sensitive compare 
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20080174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档