当前位置: 首页 > news >正文

在哪个网站做整形在线刷关键词网站排名

在哪个网站做整形,在线刷关键词网站排名,网站建设需求,重庆企业网站建设报价目录 前言 一、main函数的参数 二、命令行控制实现计算器 三、实现touch指令 前言 当我们在命令行输入 ls -al ,可以查看当前文件夹下所有文件的信息,还有其他的如rm,touch等指令,都可以帮我们完成相应的操作。 其实运行这些…

目录

前言

一、main函数的参数

二、命令行控制实现计算器

三、实现touch指令


前言

当我们在命令行输入 ls -al ,可以查看当前文件夹下所有文件的信息,还有其他的如rm,touch等指令,都可以帮我们完成相应的操作。

其实运行这些指令的本质就是进程,当我们输入相关指令的时候,系统会判断该指令是否能被找到,如果能找到,就会执行相应的程序(形成进程), 让这个进程来帮我们完成相关操作。具体是如何处理的呢?今天我们就来学习一下命令行参数。

一、main函数的参数

在我们之前学习c/c++时,main函数都没有带参数,其实main函数是可以带参数的,只是当时我们没有用到很复杂的场景。

main函数完整的有三个参数,第一个参数 int argc 代表参数的个数,第二个参数char* argc[]是字符指针数组,代表参数的内容,第三个参数char* envp[]为环境变量,我们暂时不做了解(后续学环境变量会再来看)

int main(int argc,char* argv[],char* envp[])

我们用下面这段代码将argv打印出来看一下 

#include<stdio.h>int main(int argc,char* argv[])
{int i = 0;for(;i<argc;i++){printf("%d:%s\n",i,argv[i]);         }
}

 我们运行可执行程序发现argv第一个参数是运行可执行程序的指令,后面没有更多了。

如果我们输入 ls -al 这种类似代码,我们可以看到命令行中的一个大的字符串,以空格作为分隔符,被分割成了几子串,argv里存放的就是一个这些小子串。如下,输出了4点

这样一来,我们就可以通过设置输出的个数和内容,来让同一份代码实现不同的功能。

二、命令行控制实现计算器

现在我们通过对命令行输入的不同,实现一个加减乘除的计算机。

方法为  ./可执行程序  -算法符号  数字1  数字2

具体代码如下,首先我们控制argc的参数个数,保证是4个参数才继续执行,否则告诉用户输入错误,得按照制定的格式使用。需要注意我们命令行输入的是字符串,因此需要转成整数处理

#include<stdio.h>                                                                        
#include<string.h>
#include<stdlib.h>
int main(int argc,char* argv[])    
{    if(argc!=4)    {    printf("输入格式错误,使用方法:%s op[-add|sub|mul|div] d1 d2\n",argv[0]);    return 1;    }    int x = atoi(argv[2]);    int y = atoi(argv[3]);    if(strcmp(argv[1],"-add")==0)    {    printf("%d+%d=%d\n",x,y,x+y);    }    else if(strcmp(argv[1],"-sub")==0)    {    printf("%d-%d=%d\n",x,y,x-y);    }    else if(strcmp(argv[1],"-mul")==0)    {    printf("%d*%d=%d\n",x,y,x*y);    }    else if(strcmp(argv[1],"-div")==0)    {    if(y == 0) printf("被除数不能为0\n");    else printf("%d/%d=%d\n",x,y,x/y);    }    else    {    printf("输入格式错误,使用方法:%s op[-add|sub|mul|div] d1 d2\n",argv[0]);    return -1;                                                                       }return 0;
}

我们编译后运行, 正确的格式才会进行运算。错误的会告诉我们使用方法。

到这一步我们对命令行指令就更加清晰了,所谓的 ls/mv/mkdir 等等指令,本质上就是可执行程序,我们在后面添加的 -a -r 等等选项,都是通过main的参数来进行控制的,输入相应的选项就能得到相应的效果。

三、实现touch指令

 我们根据之前学的内容,想必模拟一下touch指令也很简单了。胆码如下

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char* argv[])
{if(argc != 2){printf("touch指令格式不对\n");return 1;}FILE *fp = fopen(argv[1],"a");if(fp == NULL){perror("打开失败");                                                      return -1;}fclose(fp);return 0;
}

测试一下,成功创建。 

 

http://www.yidumall.com/news/21586.html

相关文章:

  • 郑州网站建设汉狮宣传软文案例
  • 巨鹿企业做网站淘宝关键词排名
  • 公司备案证查询网站查询系统电商平台有哪些
  • 如何建立一个私人网站外链在线生成
  • 做网站和app怎么跑业务广东东莞疫情最新消息今天又封了
  • 在那些免费网站做宣传效果好宁德市地图
  • 网站稳定性不好的原因seo按天计费系统
  • 内蒙做网站八零云自助建站免费建站平台
  • 品牌策划案深圳seo招聘
  • 做网站的目的和意义搜索引擎大全排行榜
  • AV91做爰免费网站百度推荐现在为什么不能用了
  • 有创意广告店名字大全游戏优化
  • 怎么做会员积分网站企点客服
  • 龙岗建设网站公司手机网站
  • 想自己做网站深圳关键词优化公司哪家好
  • 做网站前端用什么技术好seo教程seo教程
  • 自适应网站设计企业百度推广
  • 网站上的验证码怎么做的seo矩阵培训
  • 支付招聘网站套餐费用怎么做帐今天重大新闻头条
  • wordpress子标题专业seo优化公司
  • 网站页面设计的特色seo页面内容优化
  • 遵义住房城乡建设厅网站精准营销理论
  • 建设网站怎么设置网站页面大小最有效的推广方法
  • 前端开发做移动端的网站seo快速排名优化公司
  • wordpress 站群网页设计与制作代码成品
  • 哪些人可以做网站网站seo重庆
  • 心连网网站珠海seo关键词排名
  • 无锡网站建设哪家做的比较好虎扑体育网体育
  • 建网站买空间百度关键词查询网站
  • java web做购物网站软文免费发布平台