将命令行参数传递给main()的一个问题。
刚刚学习到“将命令行参数传递给main() 函数,突然想到一个小问题,求解!”以下是一小段代码:
程序代码:
#include<stdio.h> int main(int argc, char *argv[]) { int count; printf("Program name: %s\n", argv[0]); if(argc > 1) { for (count = 1; count < argc; count++) printf("Argument %d: %s\n", count, argv[count]); } else puts("No command line arguments entered."); system("pause"); return 0; }
由该代码生成的可执行文件,可以在命令提示符中输入该可执行文件名以及一些参数(如 argument1, argument2)。我想知道的是:既然这些参数都可以在命令行中输入,那么嫩不能“顺便”利用这这输入的参数来实现一些功能呢?如果这些输入的参数没能实现一些实际的功能,只是输入进去,有意义么?
比如,我在命令提示符中输入第一个参数:dir,然后我想利用这个 dir 参数,实现“将可执行文件所在的位置的所有文件目录列出”,那么在源代码中怎么写呢?用什么函数好呢?我知道 system(dir) 这个语句可以实现列出文件目录,这个方法如何应用到以上这一小段代码中呢?