嗨,我正在尝试使用可执行文件的名称和使用字符串,我正在argv[0]
为此目的使用,但它不是可执行文件本身的名称,而是它给了我完整的路径。
有没有办法只获取可执行文件名?
嗨,我正在尝试使用可执行文件的名称和使用字符串,我正在argv[0]
为此目的使用,但它不是可执行文件本身的名称,而是它给了我完整的路径。
有没有办法只获取可执行文件名?
只需搜索最后一个 /。
const char *exename = strrchr(argv[0], '/');
if (exename)
// skip past the last /
++exename;
else
exename = argv[0];
据我所知,(至少在 linux 上)您只需要自己从 char* 中提取可执行文件名即可。
最简单的方法是使用basename(argv[0])
,您可以通过包含“libgen.h”来获得它。
如果它在您的平台上可用,则有一个函数char *basename(char *path)
. 请参阅基本名称文档。
使用 GetModuleFileName http://msdn.microsoft.com/en-us/library/ms683197%28VS.85%29.aspx与句柄参数 = 0
只需使用路径字符串的最后一部分。strrchr
调用(获取最后一个路径定界符)和例如或类似的某种组合,以将最后一个路径定界符strcpy
的部分复制到结束
getprogname()
如果程序的名称由您的操作系统设置,您可以使用。