㈠ 计算机C语言中的命令行参数怎么用呢
怎样使用命令行参数
原文:C语言学习零碎整理(6):怎样使用命令行参数
如:
#include
main(int argc, char *argv[] )
{
int i;
for(i = 1;i < argc; i++ )
printf("%s%s",argv[i],(i < argc - 1) ? " " :"");
printf("\n");
return 0;
}
对这个程序进行编译和连接,生成可执行文件,则可用它作为一个命令用在DOS提示符后。
××××一定要注意可执行文件的路径问题。×××
如:文件存在d:\wen-tc\projects下,名字为echo.c,则可以这样做:
打开命令提示行,转入到d:\wen-tc\projects下,输入echo wenming moonvbingbing,则可显示wenming moonbingbing。
成功!!!
×××××××××××××××××××××××××
注意:
1:argc[0]为的值为启动该程序的程序名,所以argc的值至少为1。
2:argv[argc]的值必须为一个空指针。
在上面的例子中,argv[0],argv[1],argv[2]分别为“echo”,“wenming”,“moonbingbing”。
㈡ C语言中的命令行参数到底是什么,应该如何运用呢
命令行参数即 运行程序时 拍入的位置参数。
例如 程序名 a.exe,
运行程序时 拍入 a.exe p1 p2 p3 p4 p5
这里的 p1 p2 p3 p4 p5 就是 命令行参数。
例如 矩形面积计算程序 a.exe,命令行参数 宽 高:
#include<stdio.h>
int main(int argc, char *argv[])
{
double w,h;
if (argc < 3){
printf("Usage: %s width height\n", argv[0]);
return 0;
}
sscanf(argv[1],"%lf",&w);
sscanf(argv[2],"%lf",&h);
printf("Area = %lf\n",w*h);
return 0;
}
a.exe 1.2 3.0
命令行参数 宽 高 是 1.2 3.0, 输出:
Area = 3.600000
㈢ 什么是命令行参数本人是c++菜鸟
可以通过在程序的main()函数中添加形式参数来接收程序在启动时从命令行中获得的各个命令行参数,包括:程序名称、路径、当前环境变量和用户指定参数等。命令行参数由启动程序截获并传递给main()。
一个典型的命令行例子如:
My
srcFile
destFile
一个典型的main()例子如:
int
main(
int
argc,
char
*argv[
]
,
char
*envp[
]
);
argc
指示数组指针argv中包含的参数个数,该整数总是大于等于1。
argv
一个以NULL以为的字符串数组,存储用户输入的命令行参数。按照惯例,argv[0]为程序调用的命令,如c:\my.exe;argv[1]为第一个命令行参数,直到argv[argc-1];argv[argc]总是NULL。
envp
存储执行当前程序的用户环境变量
#include<stdio.h>
int
main(int
argCount,char
*
argValue[],
char
*
envp[])
{
FILE*
srcFile
=
0,
*destFile
=0;
int
ch
=
0;
int
i
=
0;
if
(argCount
!=
3){
printf("Usage:%s
src-file-name
dest-file-name\n",argValue[0]);
}else{
if((srcFile
=
fopen(argValue[1],"r"))
==
0){
printf("Can
not
open
source
file\"%s\"!",argValue[1]);
}else{
if((destFile
=
fopen(argValue[2],"w"))
==0){
printf("Can
not
open
destination
file\"%s\"!",argValue[2]);
}else{
while((ch
=
fgetc(srcFile))!=
EOF)
fputc(ch,destFile);
printf("Successful
to
a
file!\n");
fclose(srcFile);
fclose(destFile);
printf("%d
command
line
parameters
are
got
in
program
\n",argCount);
printf("All
command
line
parameters
are
list
here:\n");
while(envp[i]!=NULL){
printf("%s\n",argValue[i]);
i++;
}
i
=
0;
printf("The
variable
set
is
list
here:\n");
while(envp[i]!=NULL){
printf("%s\n",envp[i]);
i++;
}
return
0;
}
}
}
return
1;
}
㈣ c语言接收命令行参数
c语言如果想接收命令行参数,则main()函数要写成如下形式:
int main( int argc, char *argv[] )
说明:
int argc 表示参数个数,包括执行程序名,如果没有参数,该值为1
char *argv[] 表示参数列表,每个参数都是一个字符串。argv[0]是执行程序名
参考代码:
#include<stdio.h>
intmain(intargc,char*argv[])
{
inti;
printf("执行程序名:%s ",argv[0]);
for(i=1;i<argc;i++)
{
printf("第%d个参数为:%s ",i,argv[i]);
}
return0;
}
㈤ C中的命令行参数到底有什么作用啊
C中的命令行参数又叫位置参数,它可以被传到程序里面,派各种用途。
C里的main()写全了应当是:
main(int argc,char *argv[]){
..
}
argc的值等于位置参数总个数(包括程序名字)。
argv[0] 存程序名字,argv[1] 存第一个位置参数,argv[i]存第i 个位置参数,直到argv[argc-1].
例如: clip -in a.jpg -out b.jpg -x1 10 -y1 10 -x2 200 -y2 160
参数0,程序名clip
参数1,2: -in a.jpg 输入文件名
参数3,4: -out b.jpg 输出文件名
参数5,6: -x1 10 裁剪起点x座标
参数7,8: -y1 10 裁剪起点y座标
参数9,10:-x2 200 裁剪终点x座标
参数11,12: -y2 160 裁剪终点y座标
这些参数通过命令行传入程序。
采用位置参数输入方法,避免了对话输入法。
例如,我要裁剪10张照片,我可以写一个批文件my.bat
文件内容:
clip -in a1.jpg -out b1.jpg -x1 10 -y1 10 -x2 200 -y2 160
clip -in a2.jpg -out b2.jpg -x1 20 -y1 10 -x2 210 -y2 160
clip -in a3.jpg -out b3.jpg -x1 10 -y1 20 -x2 200 -y2 170
clip -in a4.jpg -out b4.jpg -x1 20 -y1 20 -x2 210 -y2 170
...
clip -in a10.jpg -out b10.jpg ...
运行my.bat,就裁剪了10张照片。不必对话输入参数。
㈥ 什么是c的命令行参数
所谓c语言的命令行参数,主要指的main函数的参数,main函数有操作系统来调用,用户通过操作系统来运行软件,因此可以传递参数。比如
intmain(intargc,char*argv[])//这是控制台上的main函数
其中argc用于说明传递的命令行参数的个数,argv是一个char *的指针数组,每1个元素代表一个参数。其中argv[0]即表示程序本身。
㈦ 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为退出。