导航:首页 > 程序命令 > c设计命令行

c设计命令行

发布时间:2025-01-06 02:56:53

‘壹’ 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语言命令行参数

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

(2)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语言操作命令行程序

main(int argc, char* argv[])中的参数不是白写的,argc存储参数个数,argv[]指针数组按顺序指向这些参数,你可以解析这些参数做不同的操作,但注意运行时不能直接点exe,要用cmd运行,我们常见的命令行cd,dir,md等都是这么写出来的。

‘肆’ C语言设计:编写一个带命令行参数的程序,实现整数四则运算。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char x;
float a, b;
if (argc != 4)
{
printf("You may use program %s like this: %s 10 + 20 ", argv[0], argv[0]);
return 1;
}
x = argv[2][0];
a = atof(argv[1]);
b = atof(argv[3]);
switch (x)
{
case '+':
printf("%.2f", a + b);

break;
case '-':
printf("%.2f", a - b );
break;
case '/':
if (argv[3] == 0)
{
printf("Error, You put 0 as a divisor ");
break;
}
else
{
printf("%.2f", a / b);
}
break;
case '*':
case 'x':
case 'X':
printf("%.2f", a * b);

‘伍’ 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设计命令行相关的资料

热点内容
太监程序员 浏览:56
java编译选项包括 浏览:432
安卓手机如何导其他手机的通讯录 浏览:931
离心式压缩机品牌 浏览:167
plc编程推荐什么电脑 浏览:935
安卓最新什么系统版本 浏览:193
甜颜app真人交友在哪里下载 浏览:335
电脑里好乱很多文件夹都是空 浏览:352
数学一窍不通可以学模具编程吗 浏览:270
退休程序员练字 浏览:693
海光服务器什么架构 浏览:138
战斗命令要素 浏览:953
app上哪里可以开鞋子盲盒 浏览:81
python多线程计划 浏览:384
华为模拟加密门id禁卡 浏览:555
华为od服务器广播算法 浏览:353
银色球球解压图片 浏览:711
dtu远传设备如何连接服务器 浏览:400
房子不解压可以买卖吗 浏览:764
割弹力球解压 浏览:746