到底是argc和argv[]呢,还是 用户输入的呢。
书上讲得很模糊。
书上讲得很模糊。
解决方案
20
参数,变元,C,C++语言函数,不是数学物理方程
C,C++ 有变量 这种 语法成分
有 函数参数(实参 和形参)这一类 函数定义,声明,调用 相关的概念
对于函数,形参相当于 ,函数内部定义的 变量。
只是数组的有点小小的不同。
函数定义,函数声明 的参数表中的内容,为形式参数。
函数调用的参数表中的内容,为实际参数。
函数的每个实参,是个表达式
函数的每个形参,可以看作变量
argc,argv[] 是main 函数的形式参数
是 C,C++标准库中的初始化代码,调用 main 函数传递过来的参数。
其中 argc 是 初始化代码获取的命令行参数的
字符串个数
argv 是每个命令行参数(空格分隔的)
通过处理命令行参数,应用程序在命令行 执行的时候,可以 传递一些命令参数
应用程序,根据这些参数,产生不同的运行结果。
这些参数,是命令行这种执行方式 传递的
这是 C 语言程序,对 执行环境(shell 程序)的响应
举例
假设程序编译后,生成 a.exe
命令行输入a.exe x y z
应用程序,就可以得道 argc 的值,为 4
argv[0] =”a.exe”,argv[1] =”x”,argv[2]=”y”,argv[3] =”z”;
假设,应用程序,简单的依序输出 argv
就会输出 a.exe x y z
一般来说,编译器都是这种带 参数的程序
可以 在命令行输出编译参数。根据不同参数产生不容的编译结果
C,C++ 有变量 这种 语法成分
有 函数参数(实参 和形参)这一类 函数定义,声明,调用 相关的概念
对于函数,形参相当于 ,函数内部定义的 变量。
只是数组的有点小小的不同。
函数定义,函数声明 的参数表中的内容,为形式参数。
函数调用的参数表中的内容,为实际参数。
函数的每个实参,是个表达式
函数的每个形参,可以看作变量
argc,argv[] 是main 函数的形式参数
是 C,C++标准库中的初始化代码,调用 main 函数传递过来的参数。
其中 argc 是 初始化代码获取的命令行参数的
字符串个数
argv 是每个命令行参数(空格分隔的)
通过处理命令行参数,应用程序在命令行 执行的时候,可以 传递一些命令参数
应用程序,根据这些参数,产生不同的运行结果。
这些参数,是命令行这种执行方式 传递的
这是 C 语言程序,对 执行环境(shell 程序)的响应
举例
假设程序编译后,生成 a.exe
命令行输入a.exe x y z
应用程序,就可以得道 argc 的值,为 4
argv[0] =”a.exe”,argv[1] =”x”,argv[2]=”y”,argv[3] =”z”;
假设,应用程序,简单的依序输出 argv
就会输出 a.exe x y z
一般来说,编译器都是这种带 参数的程序
可以 在命令行输出编译参数。根据不同参数产生不容的编译结果
20
argc是命令行总的参数个数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数
命令行后面跟的用户输入的参数,例如:
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数
命令行后面跟的用户输入的参数,例如:
int main(int argc, char* argv[]) { int i; for (i = 0; i < argc; i++) cout << argv[i] << endl; cin >> i; return 0; }
执行时敲入
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bbb ccc ddd
输出如下:
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE
aaaa
bbb
ccc
ddd
5
命令行参数,不是 应用程序本身的输入
而是shell环境中,以及其他可以执行别的程序的环境中
输入的带有参数的 命令行 命令 中的 参数
widows 中,cmd下执行的程序,可以带有 命令行参数
一个程序,调用可执行程序,可以传递命令行参数
应用程序执行时,不再需要额外输入命令行参数。
在 windows 中,批处理文件 .bat,命令文件 .cmd
中,每一行都是命令
应用程序,可以在批处理文件中执行
批处理文件,每一行就是一个命令行
可以执行内部命令,外部命令(可执行文件.exe),以及脚本语言指令
而是shell环境中,以及其他可以执行别的程序的环境中
输入的带有参数的 命令行 命令 中的 参数
widows 中,cmd下执行的程序,可以带有 命令行参数
一个程序,调用可执行程序,可以传递命令行参数
应用程序执行时,不再需要额外输入命令行参数。
在 windows 中,批处理文件 .bat,命令文件 .cmd
中,每一行都是命令
应用程序,可以在批处理文件中执行
批处理文件,每一行就是一个命令行
可以执行内部命令,外部命令(可执行文件.exe),以及脚本语言指令
5