例如:
copy a.txt b.txt
copy 是程序名,a.txt 是位置参数1,b.txt 是位置参数2
程序做复制 a.txt 到 b.txt去。
C语言main()函数可以取得程序名和位置参数:
void main(int argc, char *argv[]){
}
argc -- 程序名 加 位置参数 的总个数
argv[0] -- 含C可执行程序名
argv[1] -- 位置参数1
argv[2] -- 位置参数2
....
argv[n] -- 位置参数n
不必通过输入语句,命令行参数可以传入C 程序。
例如计算矩形面积:
void main(int argc, char *argv[]){
float w,h
if (argc <3){
printf("Usage:%s w h\n",argv[0])
printf("for example: %s 3.2 4.5\n",argv[0])
exit(0)
}
sscanf(argv[1],"%f",&w)
sscanf(argv[2],"%f",&h)
printf("area = %f\m",w*h)
}
命令行打入:
程序名 宽 高
输出矩形面积
跟我做。1、打开集成开发工具(如vc6.0、C-Free 5)。
2、新建一个文件test.c,文件名因人而异。
3、路径我放到了d:\test下,路径也可以随意。
4、编辑源程序。并进行编译连接。
5、在存储经过编译连接的test.exe的文件夹中新建一个记事本文件内容输入CMD,并用另存为更名为a.bat。
6、双击a.bat,打开命令提示符,输入test.exe [参数](test.exe 后边有空格。可以输入任意字符)。
OK了。另外程序有一个地方有点错、for(i=0i<argci++).
为了表达清楚,有点繁琐。望采纳。
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 = 0i <argci++)
{
printf("%s\n",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=0i<argci++)
printf("第 %d 个参数是 %s\n",i+1,argv[i])
return 0
}