C++我自己的文件名是什么

C++ What is my own file name?

本文关键字:是什么 文件名 自己的 我自己 C++      更新时间:2023-10-16

我有一段C++代码,它调用系统命令。。我想将我自己的C++可执行文件的文件名传递给系统命令。。有人知道怎么做吗?例如,我的C++代码被称为"switch-5"。。我想做的是类似的事情;

系统("./script.sh switch-5");

有人知道吗?

您的可执行文件名称是argv中传递的第一个参数。

要测试这一点,只需运行:

int main(int argc, char **argv)
{
   printf("My program name: '%s'n", argv[0]);
   return 0;
}

(我假设您知道如何将它与脚本名称组合,以获得要传递给system()的字符串。)

传递给main的argv[0]是可执行文件的名称。

在应用程序启动期间将其存储在全局变量中:

static char *selfname;
int main(int argc, char **argv)
{
    selfname = argv[0];
    // etc.
}

注意,argv[0]包含用于启动程序的确切内容,包括相对或绝对路径,例如:"./programname".