您好我正在尝试使用可执行文件的名称和用法字符串,我正在使用argv[0]
用于此目的,而不是可执行文件本身的名称,它为我提供了完整的路径。
有没有办法只获取可执行文件名?
答案 0 :(得分:3)
据我所知,(至少在Linux上)你只需要自己从char *中提取可执行文件名。
最简单的方法是使用basename(argv[0])
,你可以通过包含“libgen.h”获得。
答案 1 :(得分:3)
只搜索最后一个/.
const char *exename = strrchr(argv[0], '/');
if (exename)
// skip past the last /
++exename;
else
exename = argv[0];
答案 2 :(得分:1)
如果您的平台上有该功能,则会有一个功能char *basename(char *path)
。请参阅basename documentation。
答案 3 :(得分:0)
使用带有handle参数= 0
的GetModuleFileName http://msdn.microsoft.com/en-us/library/ms683197%28VS.85%29.aspx答案 4 :(得分:0)
只需使用路径字符串的最后一部分。调用strrchr
(获取最后路径分隔符)和strcpy
或类似的,将部分从最后一个路径分隔符复制到结束
答案 5 :(得分:0)
如果您的操作系统设置了程序名称,则可以使用getprogname()
。