源文件的父目录 我如何从代码本身中获得C++源父目录和更高级别的所有目录的地址?也就是说,从源创建的程序可以访问所述目录,而无需我指定它们。

源文件的父目录 我如何从代码本身中获得C++源父目录和更高级别的所有目录的地址?也就是说,从源创建的程序可以访问所述目录,而无需我指定它们。,c++,C++,您可以使用_FILE__>宏获取源文件的路径。然后,通过应用字符串操作技术,您可以简单地获得父目录 更多信息。一些编译器支持,您可以使用获取源文件完整路径的字符文字 如果该文本可用,您可以从中提取父目录名 但实际上,您这样做的用例是什么 我对你的部署策略有些怀疑,可能有疑问 如果您依赖于源目录结构,例如加载更多的资源文件,那么对于只安装了可执行工件的潜在目标环境来说,这是不可移植的。您可以重新考虑您的部署和配置策略。我应该补充一点-我不使用任何IDE,也不在命令行上编译。我可以问一下您的使用案例

您可以使用_FILE__>宏获取源文件的路径。然后,通过应用字符串操作技术,您可以简单地获得父目录


更多信息。

一些编译器支持,您可以使用获取源文件完整路径的字符文字

如果该文本可用,您可以从中提取父目录名

但实际上,您这样做的用例是什么

我对你的部署策略有些怀疑,可能有疑问


如果您依赖于源目录结构,例如加载更多的资源文件,那么对于只安装了可执行工件的潜在目标环境来说,这是不可移植的。您可以重新考虑您的部署和配置策略。

我应该补充一点-我不使用任何IDE,也不在命令行上编译。我可以问一下您的使用案例吗?@Dimitrischachman这是一个很好的问题,因为在运行时依赖源目录的资源通常是一个坏主意。编译程序时源代码位置的可能重复通常不是非常有用的信息。这听起来像是个XY问题。你能说明你打算如何使用这些信息吗?如果您的程序在另一台计算机上运行,会发生什么情况?编译器是否支持可选的_文件_uu宏?我认为这是在C和C++标准中。在过去的20年里,我使用的所有编译器都使用了它。