C++main函数的参数
C++的main函数可以没有输⼊参数,也可以有输⼊参数,⽽且只能有两个参数,习惯上coding如下:字符串函数传参
int main(int argc, char* argv[]) 或者int main(int argc, char** argv)
其中,argc = argument count :表⽰传⼊main函数的数组元素个数,为int类型,⽽ argv = argument vector :表⽰传⼊main函数的指针数组,为char**类型。第⼀个数组元素argv[0]是程序名称,并且包含程序所在的完整路径。argc⾄少为1,即argv数组⾄少包含程序名。
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
for(int i=0;i<argc;i++)
cout<<argv[i]<<endl;
return0;
}
⼀般编译器默认使⽤argc和argv两个名称作为main函数的参数,但这两个参数如此命名并不是必须的,你可以使⽤任何符合C++语⾔命名规范的变量名,但要保证第⼀个参数类型为int型,第⼆个参数为char**型,如下图所⽰。
#include <iostream>
using namespace std;
int main(int count, char* input_parameters[])
{
for(int i=0;i<count;i++)
cout<<input_parameters[i]<<endl;
return0;
}
由于main函数不能被其他函数调⽤,因此不可能在程序内部取得实际值。main函数的参数值是从操作系统命令⾏上获取的。在window 系统中,假如编译链接成的可执⾏⽂件为,则在命令提⽰符(快捷键windows+R,输⼊cmd)中,键⼊如下命令(可执⾏⽂件参数参数参数 ...):
jisongxie 1996
将会传递三个参数给main函数,第⼀个argv[0]是前⾯提到的⽂件名,第⼆个argv[1]是"jisongxie",第三个argv[2]是“1996”。同理,可以传⼊更多的参数。在ubuntu系统中,可以通过终端进⾏相同的操作。
传⼊的参数数组类型为char *字符串类型,可以通过atoi,atof函数进⾏类型的转换。
1、atoi,即ascii to integer,把字符串转换成int
2、atof,即ascii to float,把字符串转换成double
3、atol,即ascii to long int,把字符串转换成long int
4、atoll,即ascii to long long int,把字符串转换成long long int
例如上述输⼊的1996,可以得到如下:
int year = atoi(argv[2]); // year = 1996
因此,通过上述的命令⾏输⼊以及程序⾥⾯的类型转换,可以通过命令⾏窗⼝传⼊值(字符串和数字)到程序中运⾏。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论