c语言的命令行参数
㈠ 请教关于c语言的命令行参数 echo程序是什么
这个就是C语言的命令行参数和main函数之间的参数转换关系的详细解释了。
1、首先明确一下我们编译出来的可执行程序
windows编译出来的可执行程序扩展名为exe,比如test.ext,楼主例子中的echo.exe,运行程序的时候exe可以省略。
我们要执行一个程序,第一个肯定是要写上程序的名字,比如echo.exe或者echo,然后后面跟参数,比如楼主程序里面的hellow, world,就是2个参数,以空格分开,第一个参数是hellow,,第二个参数是world
2、然后再看一下程序是如果将我们写的参数传递给可执行程序的。
main函数的参数是两个int argc,char *argv[],argc就是参数的个数,argv数组就是具体的参数了。
程序执行时,会根据我们输入的个数来决定给main函数传递什么东西。按照空格分开,每一个输入就是一个参数(注意:也要包含程序本身的名字,也是一个参数)
即当我们输入echo hellow, world的时候,main函数接收到3个参数,echo,hellow,和world,这个时候argc就等于3,argv[0]是echo,argv[1]是hellow,,argv[2]world。
3、估计楼主疑惑的就是可执行程序的名字为什么也是一个参数,这个是C语言的规范,记住就行了哈。
㈡ c语言命令行参数如何运行
1、命令行参数是保存在argv[]里的。argc只是说参数的个数。命令行参数一般是从argv[1]开始(包括argv[1])argv[0]是程序的名字。在输命令的时候,命令行参数之间用空格隔开。
2、比如:
#include<stdio.h>
intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("youmustinputargs!");
return0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序参数如下: ");
printf("-c提示是否确定。 ");
printf("-d跳过警告,直接删除。 ");
printf("exit为退出。");
return0;
}
elseif(strcmp(argv[1],"-c")==0)
{
//此处省略N行你的代码
}
return0;
}
如果编译出来的程序名字叫 test.exe,那么在命令行下输入 test.ext help后就会打印
此程序参数如下:
-c 提示是否确定。
-d 跳过警告,直接删除。
exit为退出。
㈢ C语言中关于通过命令行获取参数的编程
#include <stdio.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
printf("you must input args!");
return 0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序参数如下:\n");
printf("-c 提示是否确定。\n");
printf("-d 跳过警告,直接删除。\n");
printf("exit为退出。");
return 0;
}
else if(strcmp(argv[1],"-c")==0)
{
//此处省略N行你的代码
}
return 0;
}
如果你编译出来的程序名字叫 test.exe 那么在命令行下输入 test.ext help后就会打印
此程序参数如下:
-c 提示是否确定。
-d 跳过警告,直接删除。
exit为退出。