argc不需人为传入,举个例子
C:\Test.exe aaa bbb
那么,argc =3,
argv[1]指向 aaa
argv[2]指向 bbb
argv[0]通常是环境变量,就是路径,但要注意这与你运行的平台相关
----------------解决方案--------------------------------------------------------
恩```谢谢```
我现在有点奇怪```
举个例子吧``
C:\Test.exe aaa bbb
这个命令行``执行了TEXT.EXE可执行程序后``后面的aaa bbb有什么用呢?``
我们通常``应该是只输入可执行程序的路径吧```
我很少遇到输入路径后还要在后面给参数的情况``
----------------解决方案--------------------------------------------------------
这个还不明白```
----------------解决方案--------------------------------------------------------
举个例子,QQ,你可以CMD模式直接输入
c:\QQ目录\QQ
来运行它,但这样运行是需要你手动输入密码的(如果设置为自动登陆,则第一个不需)
你还可以
c:\QQ目录\QQ QQ号码 QQ密码
这样就不用手动输入密码,同时登陆多少个都不用
----------------解决方案--------------------------------------------------------
*env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS,C:\TURBOC(对于PATH) 或YES(对于87)。
这个还不明白```
#include "Stdio.h"
#include "Conio.h"
int main(int argc,char **argv,char **env)
{
int i=0;
if(argc==1)
{
printf("本次运行无参数!\n");
}
else
{
printf("本次运行 %d 个参数!\n",argc);
for( i=0;i<=argc;i++)
{
printf("argv[%d] => %s\n",i,argv[i]);
}
}
i=0;
while(strlen(env[i])>0)
{
printf("%d %s\n",i+1,env[i]);
i++;
}
printf("OK!\n");
getch();
return 0;
}
----------------解决方案--------------------------------------------------------
while(strlen(env[i])>0) => while(env[i])
----------------解决方案--------------------------------------------------------
谢谢老K``和各位帅哥美女``
我运行了一下老K的程序```现在明白的了这3个东西的作用了```
argc回自己统计参数个数并且再最后加上一个NULL``
argv存放 指向 我们输入的以空格阁开的字符数组``并且在最后指向(NULL)``
anv 存放 指向 目前运行环境和一些相关参数``
对吗```
----------------解决方案--------------------------------------------------------
是我们的输入,对应argv[],它是一个数组,第一个参数是函数名,第二个开始是我们的输入。
参数是说argv
----------------解决方案--------------------------------------------------------