❶ 什么是c语言命令行参数
假设可执行程序名字为,则命令
a.txt
b.txt
中
a.txt
b.txt叫做命令行参数。
代码中
int
main(int
main(int
argc,
char*
argv[])
argc表示命令行参数的个数
argv表示每个命令行参数的字符串内容。
❷ 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语言程序的命令行参数
在许多应用软件运行时都带有命令行参数,其实这些命令行参数在C语言编写的程序中也可以实现,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,收到事半功倍的效果。
C语言中有关命令行参数涉及到程序的主函数main(int argc,char *argv[]这样两个参数,其中,int argc表示命令行参数的个数(包括可执行程序名本身),char *argv[]表示每个参数的具体内容,argv[0]为命令行中可执行程序名本身,argv[1]为命令行中第二个参数的内容,依次类推。如下例输出命令行参数的个数及参数的内容:
main (int argc,char *argv[],
{int I;
printf(
命令行中可执行文件名为:%s,argv[0]);
printf(
总共有%d个参数:,argc);
I=0;
while(argc>=1)
{printf(″%s ,argv[I++]);
argc--;}
}
命令行参数用的最多还是在诸如DIR A:等之类带有盘符、路径或文件名这样的命令行中,所以说灵活处理这一类参数才能有效地提高程序的运行效果。譬如DIR命令,其后可以是盘符,可以是路径,也可以是文件名,如何区分这一参数呢?请看下例(此程序模拟DIR命令,程序要求在命令行输入一个参数:盘符或路径或文件名,若无参数或参数多于一个都将取默认的参数“*.*”)。
*--------------------
功能:模拟DIR命令进行处理命令行参数
--------------------*/
#include
#include
#include
#inchlude
int j,num=0;
char ss[20],path[50],path2[50];
void main (int argc,char *argv[])
{
struct ffblk f;
int done;
if(argc==2) /*取命令行参数到数组中*/
strcpy(ss,argv[1]);
else
strcpy(ss,″*.*″); /*给数组赋值缺省参数*/
if (((ss[strlen(ss)-1]==′\′||((ss[strlen(ss)-1]==':'))
strcat(ss,″*.*″); /*若参数为路径或盘符,则加上″*.*″*/
getcwd(path1,50); /*取当前路径*/
if (chdir(ss)==0) /*判断参数是否为路径*/
strcat(ss,\*.*); /*若路径末没有带,则加上*.* */
chdir(path1); /*恢复原来路径*/
strcpy(path2,ss);
❹ 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"
具体要做什么你自己想
❺ c语言请问命令行怎样输入的
将命令行的目录转到你程序.exe文件的目录(假设为xxx.exe),那么你输入xxx.exe 5 hello应该就得了,因为主函数main可以传入一个int变量和一串字符,数字是要输出的字符串的字符个数,后面就是你输入的字符串。
不过你是初学吗,初学马上学这个好像有点早,不过也没事。原理就类似于其他dos命令一样,后面可以直接接参数,不用scanf的。
还有,更改目录用cd命令
❻ c语言怎么输入命令行参数运行之后直接显示按任意键结束了
直接在VC++的编译环境里点击运行按钮一定是无参调用的,你先把这程序编译成exe文件,比如我编译后放到了“D: 07Text1.exe”,那就打开CMD,输入D: 07Text1.exe+参数,如下图:
当然了,我没看你的代码,显然输入的数据不合要求,但你看到了这里的“123”就是传给编译好的text1.exe的参数
❼ 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
(7)c语言命令行参数输入扩展阅读:
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;
}
❽ 什么是C语言命令行参数
给你个例子,用C语言编程实现,运行时要求带两个字符串参数,输出这两个字符串之间的关系。
#include <stdio.h>
#include <string.h>
void main(int argc,char *argv[])
{
if (argc!=3)
printf("请在运行程序时提供两个字符串参数!例如:testApp aaa bbb\n");
else
{
if (strcmp(argv[1],argv[2])>0)
printf("字符串1大于字符串2");
else if(strcmp(argv[1],argv[2])<0 )
printf("字符串1小于字符串2");
else
printf("字符串1等于字符串2");
}
}
把上述程序保存为testApp.cpp,然后编译为testApp.exe文件,最后在命令行模式下按“testApp 字符串1 字符串2”的格式输入命令,即可看到结果。
建议你了解一下DOS命令的初级知识,其实在windows-》运行,输入CMD即可打开命令行操作窗口,然后就可以用输入命令的方式运行一些应用程序了,一般格式就是“命令关键字 命令行参数列表”这种。比如你输入“dir /ad”,其中dir就是命令,“/ad”就是命令行参数。