关于主函数main()的参数问题
来源:百度知道 编辑:UC知道 时间:2024/07/04 21:03:34
呵呵,谢谢,不过那种调用我是知道的!~我不想通过系统把这个参数赋给main()函数。比如,现在我想建立一个mfc单文档,因为在mfc单文档里没有main()函数,只用WinMain函数,但是我同样是想调用类似于main()函数里的那个参数,该如何做呢?
主函数的参数就是输入命令行的参数,主函数不能被其他函数调用
int main(int argc, char *argv[]);
int main(int argc, char **argv);
int main(void);
void main(int argc, char *argv[]);
void main(int argc, char **argv);
void main(void);
补充回答:
------------------------------------
WinMain()的第三个参数是LPSTR lpCmdLine,命令行参数
这个就相当于argv,需要自己解析出每个参数
主函数的参数就是输入命令行的参数,主函数不能被其他函数调用
但是,这个参数,可以传递给其他函数进行解析
我们完全可以利用主函数来获取命令行的参数,然后,由另外的函数,对这些参数进解析,处理的。
做法是,我们可以定义个类似的函数,比如:
int process(int argc, char *argv[])
{
//...//如何处理的,这里从略
}
在函数中可以调用它,把参数传递给它,如下:
int main(int argc, char *argv[])
{
//...//略去一些代码
process(argc,argv);//这样,就把主函数获取的参数,传递给我们自己定义的函数process了
//...//略去一些代码
}
补充下:
int main(int argc, char *argv[]); 中
argc表示参数的个数。例如,你编译的可执行文件为a.out,执行时在命令行输入 ./a.out p1, argc就是2,argv[0] = "a.out",argv[1] = "p1."