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

学做网站要会哪些免费b站推广网站详情

学做网站要会哪些,免费b站推广网站详情,wordpress高端企业主题,广州技术支持:奇亿网站建设朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux命令行参数的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入…

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux命令行参数的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!

C 语 言 专 栏:C语言:从入门到精通

数据结构专栏:数据结构

个  人  主  页 :stackY、

C + + 专 栏   :C++

Linux 专 栏  :Linux

目录

1. 命令行参数

1.1 命令行参数是什么 

1.2 实现命令行版的计算器 

1.3 自定义实现基本指令 


1. 命令行参数

从我们写代码到现在,我们说mian函数是程序的入口点,那么既然是函数,就要被调用!

  • 在Linux系统中,一个进程(包括mian函数)是通过父进程fork出子进程然后开始执行的;
  • 在C语言程序中,没有其他函数直接调用mian函数;main函数的执行代表了整个程序的开始,而程序的结束则是通过main函数的返回值来表示。

其实在我们Linux系统中,mian函数也是可以带参数的;

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

那么这两个参数是代表什么意思呢?可以先来看一段代码:

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

1.1 命令行参数是什么 

通过代码的实验可以看到:

argc就是我们在命令行输入的选项个数(以空格作为分隔符)

argv依次保存的是每一个通过空格分割的选项字串的起始地址,最后一个位置以NULL结尾

那么有没有可能argv[]里面没有任何数据呢?

肯定至少都有一个,因为启动程序的指令:./可执行程序 就已经是第一个参数了!

上述工作由shell或者OS自动帮我们完成!

1.2 实现命令行版的计算器 

可以通过命令行参数然后编写代码实现一个简易版的计算器:

通过启动可执行程序,然后在后面跟上运算法则,再带上两个数

./可执行程序 -add num1 num2 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>// ./可执行程序 -add num1 num2 
int main(int argc, char *argv[])
{// 判断输入是否合理if (argc != 4){// 提示正确的使用printf("Use error, Usage: %s op[-add|sub|mul|div] num1 num2\n", argv[0]);return 1;}int x = atoi(argv[2]); // 转化为整数int y = atoi(argv[3]);int result = 0;if (strcmp(argv[1], "-add") == 0){result = x + y;printf("%d + %d = %d\n", x, y, result);}else if (strcmp(argv[1], "-sub") == 0){result = x - y;printf("%d - %d = %d\n", x, y, result);}else if (strcmp(argv[1], "-mul") == 0){result = x * y;printf("%d * %d = %d\n", x, y, result);}else if (strcmp(argv[1], "-div") == 0){if (0 == y)printf("%d/%d=error! div zero\n", x, y);elseprintf("%d/%d=%d\n", x, y, x / y);}else{printf("Use error, you should use right command line\nUsage: %s op[-add|sub|mul|div] d1 d2\n", argv[0]);}return 0;
}

通过使用命令行参数来使用这个计算器,然后再对比我们使用的指令,比如ls、ls -l、

ls -l -a、ls -l -a -n、touch file等等这些指令后面跟的选项就类似于现在实现的计算器,所以就可以得出我们使用指令的时候,第一个就是要运行的可执行程序,后面跟的选项就是一个个命令行参数,然后将这些命令行根据空格分割,传递给这个程序,然后就可以实现制定操作了!

1.3 自定义实现基本指令 

命令行参数可以支持各种指令级别的命令行选项的设置!

同样的我们也可以使用命令行参数来完成一些指令操作:通过使用C语言文件操作接口来实现touch命令

#include <stdio.h>
#include <stdlib.h>int main(int argc, char *argv[])
{// ./mytouch 文件名// 判断是否合法if (argc != 2){printf("touch: missing file operand\n");return 1;}FILE *fp = fopen(argv[1], "w");if (fp != NULL)fclose(fp);return 0;
}

朋友们、伙计们,美好的时光总是短暂的,我们本期的的分享就到此结束,欲知后事如何,请听下回分解~,最后看完别忘了留下你们弥足珍贵的三连喔,感谢大家的支持!    

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

相关文章:

  • 北京网站设计公司sx成都柚米科技15廊坊seo排名收费
  • 青海建设厅网站通知需要优化的网站有哪些
  • 上海做网站培训班关键词排名怎么做上去
  • 渝中网站公司百度智能云官网
  • 昆明模板建站代理石家庄网站建设排名
  • 淄博张店网站建设seo资源
  • 网站备案添加域名企业营销策划是做什么的
  • 网站标题如何修改全国疫情最新消息
  • 太原广告设计与制作公司优化关键词具体要怎么做
  • php 政府网站管理系统sem优化软件哪家好
  • 网站外链发布泰安百度推广代理商
  • 网站建设费用分类百度关键词竞价
  • 济南集团网站建设广州seo做得比较好的公司
  • 网上商城网站开发与建立的意义如何建立网站平台的步骤
  • 新增网站 备案深圳百度关键字优化
  • 网站建设需要什么软件seo网页优化公司
  • 什么网站是用php做的最好的免费推广平台
  • 电子商务网站开发费用入账磁力搜索引擎下载
  • 合肥快速建站模板三亚百度推广公司电话
  • 新闻网站建设研究现状广州google推广
  • 建立企业网站收费标准seo优化是什么
  • 织梦做的网站很老搜索推广渠道有哪些
  • 怎样做网站用的大于9kb5118素材网站
  • 设计师 网站 贵宣传推广方案模板
  • 如何查询一个网站的空间服务商网店培训骗局
  • 北京网站制作公司福州网站优化公司
  • 嵌入式软件开发的特点华为seo诊断及优化分析
  • 免费的看电影电视剧的app西安seo主管
  • 公司多个门户是做二级域名还是做多个网站网页制作素材模板
  • 自己接单做网站樱花bt引擎