gpt4 book ai didi

c++ - C 程序,打印其可执行文件名

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:38 24 4
gpt4 key购买 nike

假设源代码文件名为test.cpp。编译时,它会生成test.exe 文件。当我执行它时,它应该识别它的文件名 test.exe 并打印它。

我可以使用以下代码获取当前目录中存在的所有文件和目录的列表:

DIR * directory;
struct dirent * direct;
direct = readdir(directory);

但是,我如何识别关联的文件名,在本例中为 "test.exe"

最佳答案

在您的 main 函数中,argv[0] 是来自命令行的可执行文件的名称

#include <stdio.h>
int main(int argc, char ** argv)
{
printf("%s", argv[0]);
return 0;
}

Live Demo

这会打印命令名称,即相对于当前工作目录的目录,加上可执行文件名称(如果可用,则不能保证)要获取当前工作目录,请使用 getcwd() 标准库 C 函数。

argv[0] 中的命令路径中提取文件名是特定于平台的:unix 使用斜线 '/',windows 允许混合使用斜线 / 和反斜杠 \,以及任何其他平台都可以使用任何其他路径分隔符。从路径中提取文件名需要跨平台库,例如 Qt 或 Boost。在 POSIX 环境中,可以使用 basename。

关于c++ - C 程序,打印其可执行文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27149529/

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