我想访问可执行文件的路径。我知道在python中,你可以这样做:
import os
filePath, fileName = os.path.split(__file__)
上面的代码将获得文件的路径,以及行所在的文件的名称。这是否适用于c++(返回名称是可选的)?我不想要源代码,只需要可执行文件的路径。
PS:如果你认为这是非常少的细节,复制粘贴上面的代码,粘贴以下:
print(filePath)
并在python解释器中运行代码。
PPS:尝试安装POCO或qt,作为第一个问题提到的评论之一,并没有找到如何安装。
PPPS:关于为什么我想要这个路径以及我在做什么的更多细节:我需要这个路径,这样我就可以将资源加载到游戏中。有时,程序在输入文件名后不会加载图像,就像教程中的其他人所做的那样(尽管图像文件位于同一目录中)。然后我发现对于python来说,上面的代码是可以工作的,所以我想知道这是否适用于c++。
在Python中,您将获得包含正在执行的源代码的文件的路径。
在c++中,包含正在执行程序的源代码的文件可能不存在,或者(更常见的)可能存在但无法访问(例如,存储在您无法访问的系统上)。
相反,在c++中,源代码通常被编译成一个可执行文件,然后运行。但是该可执行文件包含机器级指令,而不是程序员编写的程序的c++源代码。
如果你想在运行时访问源代码,你几乎肯定要自己去做——确保在你能找到的某个位置的目标计算机上有一份源代码的副本。
c++标准库包含一些基本的支持,比如在文件系统树中搜索特定的文件,但是将这些构建块组合成一个系统,让您在运行时访问源代码,这将取决于您。很有可能在这个过程中,你最终会需要一些在大多数操作系统上可用的东西,但仍然需要特定于你正在使用的操作系统的代码(例如,获取可执行文件的路径,这样你就可以构建一些相对于你存储源文件的路径)。