gpt4 book ai didi

c++ - 如何在 C++ 中获取当前运行的可执行文件的文件名

转载 作者:IT老高 更新时间:2023-10-28 23:03:38 27 4
gpt4 key购买 nike

我想获取当前进程的完整路径。

我使用 _getcwd 来获取当前工作目录。但它不包括文件名。

如何获取文件名,如:filename.exe

最佳答案

argv[0] 你的 main 函数是你的文件名。

一个简单的代码片段:

#include<stdio.h>
int main(int argc, char** argv)
{
//access argv[0] here
}

如果您无法访问/更改 main() 中的代码,您可以执行以下操作:

std::string executable_name()
{
#if defined(PLATFORM_POSIX) || defined(__linux__) //check defines for your setup

std::string sp;
std::ifstream("/proc/self/comm") >> sp;
return sp;

#elif defined(_WIN32)

char buf[MAX_PATH];
GetModuleFileNameA(nullptr, buf, MAX_PATH);
return buf;

#else

static_assert(false, "unrecognized platform");

#endif
}

关于c++ - 如何在 C++ 中获取当前运行的可执行文件的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254980/

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