簡體   English   中英

如何將命令行參數傳遞給 ac 程序

[英]How to pass command line arguments to a c program

自從我學會編程以來,我就知道如何編寫一個接受命令行參數的程序。 我不明白的是這些參數如何獲得它們的值。 希望我沒有將這兩者混淆,但參數和參數之間存在差異。 參數是函數被調用時賦予的值,例如: foo( a, b, c); 其中 a、b 和 c 是值。 參數是調用時函數內部的值。

所以我的問題是一個人如何將命令行參數傳遞給程序? 我了解如何讀取參數, argc是參數的數量, argv是指向包含參數等的字符串數組的指針,等等,但我只是不知道如何給這些參數一個值..

我正在尋找 C 和 C++ 的信息。 我是這方面的新手。

在 Windows 環境中,您只需在命令行上傳遞它們,如下所示:

myProgram.exe arg1 arg2 arg3

argv[1] 包含 arg1 等

主要功能如下:

int main (int argc, char *argv[])

在 *nix 上:

$ ./my_prog arg1 arg2

在 Windows 命令行上:

C:\>my_prog.exe arg1 arg2

在這兩種情況下,鑒於main被聲明為:

int main (int argc, char *argv[])

argc將是一個值為 3 的intargv[1] = "arg1"argv[2] = "arg2" ,另外, argv[0]將具有程序的名稱my_prog

命令行參數通常用空格分隔,如果您希望傳遞帶有空格的參數,例如hello world ,請使用雙引號:

$ ./my_prog "hello world"

在 *nix 上,有一個非常好的實用程序,可以讓您以非常簡單的方式解析命令行標志和參數。 在同一頁面上有一個很好的使用示例。

然后,您將運行您的程序並以非常標准化的方式將參數傳遞給它:

$ ./my_app -a -b -c argument1 argument2

你可以不用它,只需自己解析它們,但如果你的目標是讓你的應用程序對其他人有用,那么讓它符合標准絕對值得。

只需單擊開始菜單並在搜索索引中鍵入 cmd...按 Enter ..now 在 cmd 窗口中鍵入以下命令...“program_name arg1 arg2”(不帶引號)並按 Enter 鍵...是的,它完成了!

暫無
暫無

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

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