簡體   English   中英

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

[英]C++ What is my own file name?

我有一段調用系統命令的C ++代碼。我想將我自己的C ++可執行文件的文件名傳遞給系統命令。.有人知道怎么做嗎? 因此,例如,我的C ++代碼稱為“ switch-5”。

system(“ ./ 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”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM