如何检查路径是否指向可执行文件

How to check if path leads to executable file?

本文关键字:是否 可执行文件 路径 何检查 检查      更新时间:2023-10-16

我尝试创建某种文件浏览器。我想知道path下的文件是否可以跨平台执行

如何用boost::filesystem做这样的事情?

Boost没有关于权限的东西,因为POSIX权限不是"跨平台的"。

根据需要使用特定于平台的api。对不起!

你可以试试QT,它是跨平台的。在处理文件时,您不必关心操作系统的差异。你所说的"可执行的"是什么意思,我不太清楚。如果您正在讨论文件权限,OT可以提供此类信息(只需查看QFile类文档)。如果你想知道你是否真的可以运行它,你必须有某种文件扩展名约定。例如Windows操作系统的。exe文件。我不知道,也许有一种方法可以查看文件的初始位,并了解它是否是二进制文件,但我认为你无法找到相应的库调用。您必须为此实现一些特定于平台的例程。如果我没有弄错的话,文件浏览器主要是通过查看文件的扩展名来查找类型。例如,如果您将pdf的文件扩展名更改为exe,则windows资源管理器将此文件视为可执行文件。显然,在文件类型假设之后,它可以尝试学习有关文件的其他一些东西,例如可执行文件的图标。但最初它只考虑扩展。否则,浏览包含大量文件的目录将非常缓慢。

我希望我在这里给出了一些相关的信息

相关文章: