我尝试创建某种文件浏览器。我想知道路径下的文件是否可以跨平台方式执行。
如何用boost :: filesystem做这样的事情?
答案 0 :(得分:4)
提升doesn't have stuff about permissions,因为POSIX权限不是“跨平台”。
根据需要使用特定于平台的API。遗憾!
答案 1 :(得分:1)
您可以尝试QT。它是跨平台的。处理文件时,您不必关心操作系统的差异。您对“可执行文件”的意思是某种程度上不清楚。如果您正在谈论文件权限,OT可以提供此类信息(只需查看QFile类文档)。如果您想了解是否可以实际运行它,您必须具有某种文件扩展名约定。例如,Windows中的.exe。我不知道,可能有一种方法可以查看文件的初始位并了解它是否是二进制文件,但我认为你无法找到一个库调用。您必须为此实现一些特定于平台的例程。如果我没有弄错的话,文件浏览器大多会查看文件的扩展名以找出类型。例如,如果将pdf的文件扩展名更改为exe,则Windows资源管理器会将此文件视为可执行文件。显然,在文件类型假设之后,它可以尝试学习有关该文件的其他一些内容,例如可执行文件的图标。但最初它只关注扩展。否则,浏览包含大量文件的目录将非常慢。
我希望,我在这里提供了一些相关信息