是否有可能有不带路径的可执行文件的名字?
-
21-09-2019 - |
题
嗨,我试图使用可执行文件的名称和用法字符串,我使用argv[0]
这样的目的,但不是可执行文件本身的名称,它给了我完整的路径。
有没有什么办法让唯一的可执行文件的名称?
解决方案
只要搜索最后/.
const char *exename = strrchr(argv[0], '/');
if (exename)
// skip past the last /
++exename;
else
exename = argv[0];
其他提示
据我所知,(在Linux上,至少),你就必须从焦炭中提取自己的可执行文件名*。
做到这一点的最简单的方法是通过包括“libgen.h”。
使用basename(argv[0])
,你可以得到 如果这是您的平台上,有一个功能char *basename(char *path)
。请参阅基名文档。
使用GetModuleFileName http://msdn.microsoft的.com / EN-US /库/ ms683197%28VS.85%29.aspx 与手柄参数= 0
只要使用路径串的最后部分。通话的一些组合strrchr
(获得最后一个路径分隔符)和如strcpy
或类似部件从最后一个路径定界符复制出结束
如果该程序的名称是由您的操作系统设置,您可以使用getprogname()
。
不隶属于 StackOverflow