main的三个参数怎么用啊
下面的程序怎么得不到我想要的:
那个高手棒棒忙
char *p;
char *progname;
progname=((p=strrchr(argv[0],'/')) ? ++p: argv[0]);
printf("%s\n",p);
printf("%d\n",argc);
printf("%s\n",argv[0]);
printf("%s\n",argv[1]);
printf("%s\n",*argv);
printf("%s\n",*env);
printf("%s\n",progname);
结果是:
<null>
1
e:\vcworkspace\test\Debug\test.exe
e:\vcworkspace\test\Debug\test.exe
1830B7Bd-F7......
e:\vcworkspace\test\Debug\test.exe
那个env怎么是。。。。。如果用循环输出env,得到一大串的东西,都不知道是什么
[解决办法]
env环境变量
[解决办法]
argv[0] 程序名称 string
argv[1] 第一个参数
argv[2] 第二个参数
以此内推
argc 参数个数
[解决办法]
env:
A pointer to the environment block for the new process.
[解决办法]
LInux下直接声明extern char* *environ; 就可访问以NULL结尾的环境变量数组了。
[解决办法]
env 是指环境变量!
[解决办法]
试试在cmd窗口里面输入set命令查看所有环境变量
环境变量的知识属于“DOS命令”
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
[解决办法]
argc -- argument count
argv -- argument Variable
env -- environment……
个人是这么认为的 没有求证过 不过应该是这个意思
知道意思再来用就简单多了……
[解决办法]
给你个实例:
#include <stdio.h>
int main(int argc ,char **argv){
int i;
for(i=0;i<argc;i++){
printf("%s\n",argv[i]);
}
return 0;
}
$ main ss aaa
main
ss
aaa
$