❶ C语言命令行参数问题,请高手帮忙
看了半天没看明白你想做什么,
用命令行参数
int
main(int
argc,char*
argv[])
argc是命令行上参数的总个数
argv[]保存了参数的名称
比如你文件是text.exe
在命令行上输入
c:\>text.exe
a
b
c
那样argv[0]="text.exe";
argv[1]
=
"a";
argv[2]
=
"b";
argv[3]
=
"c"
具体要做什么你自己想
❷ 如何创建一个shell脚本检查命令行参数个数,如果参数不是三个显示一条错误信息,为三个则显示参数
1、“shell”中有一个特殊变量“$#”:表示包含参数的个数;
2、“if [ $# -ne 3 ] ; then # ”:如果参数不为3个
3、输入“if [ $# -ne 3 ];then echo errorelse echo "$1 $2 $3"if”
❸ C语言命令行参数
int main(int argc, char * argv[])
{
.....
}
argc: 代表启动程序时,命令行参数的个数。C和C++语言规定,可执行程序程序本身的文件名,也算是一个命令行参数,因此,argc的值至少是1.
argv[]:指针数组,其中的每个元素都是一个char* 类型的指针,该指针指向一个字符串,这个字符串里就存放着命令行参数。
例如,argv[0]指向的字符串就是第一个命令行参数,即可执行程序的文件名,argv[1]指向第二个命令行参数,argv[2]指向第三个命令行参数....。
#include <stdio.h>
int main( int argc, char * argv[])
{
int i;
for ( i = 0;i < argc; i++)
{
printf("%s ",argv[i]);
}
return 0;
}
windows下,将上面的程序编译成sample.exe,然后在控制台窗口敲:
sample para1 para2 s.txt 5 "hello world"
上面有6个参数,双引号为了包含空格作为一个参数。
输出结果:
sample
para1
para2
s.txt
5
hello world
main函数通常含有参数argc和argv,写法通常如下:
int main(int argc,char *argv[])
int main(int argc,char **argv)
程序:
#include<stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=0;i<argc;i++)
printf("第 %d 个参数是 %s ",i+1,argv[i]);
return 0;
}
❹ 命令行参数长度有限制吗
有,命令行缓冲区 有 容量限制,整个命令行字符串不能超过缓冲区容量。另外参数数量也有限制。getconf ARG_MAX 最大参数个数。
❺ 什么是C语言命令行参数
假设可执行程序名字为,则命令
a.txt
b.txt
中
a.txt
b.txt叫做命令行参数。
代码中
int
main(int
main(int
argc,
char*
argv[])
argc表示命令行参数的个数
argv表示每个命令行参数的字符串内容。
❻ 创建一个shell脚本,检查命令行参数的个数,如果参数不是三个,显示一条错误信息,如果为三个,则显示参数
shell 中有一个特殊变量$# 表示包含参数的个数
if [ $# -ne 3 ] ; then # 如果参数不为3个
echo 'error'
else
echo $1,$2,$3
fi
这样就行
❼ 命令行参数的简介
命令行的参数
1、 什么是命令行的参数?
如: java Test1 365 156 China
(以上Test1必须为主类,否则不能运行)
2、命令行的参数由谁来接收?
一个程序开始于对函数main()的调用。在这样做的时候,有两个参数被送给main(),
其中的一个描述了命令行参数的个数,通常称为argc;另一个是命令行参数的数组,通常称为argv。
命令行参数都是字符串,所以argv的类型是char* [argc+1]。该程序的名字也作为argv[0]传进来,
所以argc的值至少是1。这个参数的表总以0结束,也就是说,argv[argc]==0。
3、在命令行给定参数时,应注意什么?
命令行的参数以空格隔开。但是,若命令行的参数本身包含空格时,则
该参数必须用一对双引号括起来。
如: java Test1 365 156 China Beijing of China
4、命令行中输入*(表示乘法)的方法:若直接在命令行中输入*(乘法),系统会处理成当前路径名的几个字符串,若要*表示乘法,应该输入“ *”或“ * ”,由args取得该字符串后,再用trim()去掉两端空格即可,当然也可输入“#*”,然后再想办法去掉前面的#即可,即只要不单独输入*即可。
5、Total Commander启动时可以把一个或两个文件夹做为命令行参数。这些文件夹用来设置一侧或两侧的文件窗口。这样你可以在程序或启动菜单为Total Commander创建多个图标,每个Total Commander启动后打开不同文件夹甚至压缩包。而且可以指定不同的ini文件,不止默认的wincmd.ini,这样同一机器上的不同用户可以拥有不同的设置。
❽ c语言 命令行参数数量
这个程序是K&B《C语言程序设计》中一个简易计算器代码。
中文版第65页。
请看标准写法。
2 3 4 + 这种写法称为后缀表达式(逆波兰式)。
❾ 下列程序的功能是统计命令行参数的个数,请在【 】处填上适当的JAVA代码
args.length
切!
❿ 下面哪些是送给main函数的命令行参数的个数
int
main(int
argc,
char
*argv[])
当在命令行下运行编译好的程序时,首先进入main函数,比如说程序名是a.out
#./a.out
a
b
#是命令提示符,
该程序的main函数的第一个参数argc就会是3
argv[0]
是./a.out
argv[1]是a
argv[2]
是b
main函数的参数就是这样传进来的