如何检查路径是否导致可执行文件?

问题描述 投票:6回答:2

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

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

c++ boost executable boost-filesystem
2个回答
4
投票

提升doesn't have stuff about permissions,因为POSIX权限不是“跨平台”。

根据需要使用特定于平台的API。抱歉!


1
投票

你可以尝试QT。它是跨平台的。处理文件时,您不必关心操作系统的差异。您对“可执行文件”的意思是某种程度上不清楚。如果您正在谈论文件权限,OT可以提供此类信息(只需查看QFile类文档)。如果您想了解是否可以实际运行它,您必须具有某种文件扩展名约定。例如,Windows中的.exe。我不知道,可能有一种方法可以查看文件的初始位并了解它是否是二进制文件,但我认为你无法找到一个库调用。您必须为此实现一些特定于平台的例程。如果我没有弄错的话,文件浏览器大多会查看文件的扩展名以找出类型。例如,如果将pdf的文件扩展名更改为exe,则Windows资源管理器会将此文件视为可执行文件。显然,在文件类型假设之后,它可以尝试学习有关该文件的其他一些内容,例如可执行文件的图标。但最初它只关注扩展。否则,浏览包含大量文件的目录会很慢。

我希望,我在这里提供了一些相关信息

© www.soinside.com 2019 - 2024. All rights reserved.