嗨,我试图使用可执行文件的名称和用法字符串,我使用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)。请参阅基名文档

只要使用路径串的最后部分。通话的一些组合strrchr(获得最后一个路径分隔符)和如strcpy或类似部件从最后一个路径定界符复制出结束

如果该程序的名称是由您的操作系统设置,您可以使用getprogname()

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top