gpt4 book ai didi

c++ - 如何在 C++ - Linux 中获取当前源路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:13 25 4
gpt4 key购买 nike

我希望能够得到当前的源文件路径。

string txt_file = CURRENT_FILE_PATH +"../../txt_files/first.txt";
inFile.open(txt_file .c_str());

有没有办法获取 CURRENT_FILE_PATH ?我不是指可执行路径。我的意思是运行代码的源文件的当前位置。

非常感谢,乔拉。

最佳答案

用于编译源文件的路径可通过标准 C 宏 __FILE__ 访问(参见 http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html)

如果您将绝对路径作为编译器的输入(至少对于 gcc),__FILE__ 将保存文件的绝对路径,反之亦然。其他编译器可能略有不同。

如果您使用的是 GNU Make,并且您在变量 SOURCE_FILES 中列出您的源文件,如下所示:

SOURCE_FILES := src/file1.cpp src/file2.cpp ...

您可以确保文件由它们的绝对路径给出,如下所示:

SOURCE_FILES := $(abspath src/file1.cpp src/file2.cpp ...)

关于c++ - 如何在 C++ - Linux 中获取当前源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com