如何将命令行参数传递给ac程序

14 c c++ command-line

自从我学会编程以来,我就知道如何编写一个接受命令行参数的程序.我不明白的是这些参数如何获得它们的价值.希望我没有这两个混合,但参数和参数之间存在差异.一个参数是给定到该函数的值时,它被称为如:FOO(A,B,C); 其中a,b和c是值.一个参数是在函数内部,同时被调用的值.

所以我的问题是一个人如何将命令行参数传递给程序?我理解如何读取参数,即参数argc的数量,argv是指向包含参数等的字符串数组的指针,但我只是不知道如何给这些参数赋值.

我正在寻找C和C++的信息.我在这方面有点新手.

TGH*_*TGH 12

在Windows环境中,您只需在命令行上传递它们,如下所示:

myProgram.exe arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

argv [1]包含arg1等

主要功能如下:

int main (int argc, char *argv[])
Run Code Online (Sandbox Code Playgroud)


Yu *_*Hao 10

在*nix上:

$ ./my_prog arg1 arg2
Run Code Online (Sandbox Code Playgroud)

在Windows命令行上:

C:\>my_prog.exe arg1 arg2
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,给定main声明为:

int main (int argc, char *argv[])
Run Code Online (Sandbox Code Playgroud)

argc将是一个int具有值3, ,argv[1] = "arg1",argv[2] = "arg2"另外,argv[0]将有程序的名称,my_prog.

命令行参数通常用空格分隔,如果你想传递带空格的参数,比如hello world使用双引号:

$ ./my_prog "hello world"
Run Code Online (Sandbox Code Playgroud)