查找从中执行文件的目录

Finding the directory where file is being executed from?

本文关键字:文件 执行 查找      更新时间:2023-10-16

我想用运行程序的目录的参数调用opendir()。如果可能的话,它将是一个独立于平台的方式。我很困惑,因为类似问题的公认答案看起来并不独立于平台。其他答案说使用 Boost,但对此问题的回复指出initial_path()已被弃用。如果无法在独立于平台的平台上完成,则目标是Windows。

initial_path()已被

弃用,但它在程序开始时有效地为您调用了current_path(),然后在任何后续调用中返回该结果。因此,您需要做的就是在程序开始时调用current_path()并将其存储在某个地方。

这是跨平台的,并告诉您程序的当前工作目录。

char *

getcwd(char *buf, size_t size);

这是一个 posix 函数,应该在 Linux、OsX 和 Windows 上得到支持。在这里阅读:

http://linux.die.net/man/3/getcwd

这里大致相同的问题。

您还可以从此处获得帮助: 生成文件教程

您也可以使用这些命令

initial_path()
current_path()