thi*_*zy4 14 c++ program-entry-point input
如果我运行C++程序
./program arg1
Run Code Online (Sandbox Code Playgroud)
argv [1]存在,但有没有办法检查argv [2]是否存在?
NPE*_*NPE 31
是的,看看价值argc:
if (argc > 2) {
... use argv[2] ...
}
Run Code Online (Sandbox Code Playgroud)
是的,argv[i]结束了NULL.argc被number of arguments传递给主函数.从以下代码中获取一个想法.
#include<stdio.h>
int main(int argc, char* argv[]){
int i=0;
while(argv[i]!=NULL){
printf("\n %s is argv %d ",argv[i],i);
i++;
}
printf("\n");
}
desktop:~$ gcc main.c -o main
desktop:~$ ./main grijesh thisiscrazy4
./main is argv 0
grijesh is argv 1
thisiscrazy4 is argv 2
Run Code Online (Sandbox Code Playgroud)
这里argv是 - "./main","grijesh","thisiscrazy4",NULL 和argc = 3.
argv[0]是可执行的名称(执行路径)可以用于pint与错误语句.
argv调用参数向量并argc调用参数计数器.你也可以使用其他变量名.
阅读main()函数的完整语法,该函数还包括环境变量.
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23949 次 |
| 最近记录: |