参数列表

Linux命令行规范

  • 短参数:以单横开头,后跟单一字符,例如:ls -h
  • 长参数:以双横开头,后跟字符串,例如:ls --help

程序访问参数列表的方法:

  • 主函数的参数argc和argv
  • 程序接受命令行的输入参数,并解释之

编写程序,输出命令行参数

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "the program name is:" << argv[] << " ." << endl;
if (argc > )
{
cout << " with " << argc - << "args as follows:" << endl;
for (int i = ; i < argc; i++)
{
cout << argv[i] << endl;
}
}
else
{
cout << "with" << argc - << "arguments." << endl;
}
return ;
}

参数列表:

选项数组的定义

结构体类型option:系统已定义,直接使用就可以

//头文件:getopt.h

struct option

{

//选项长名称

const char *name;

//选项是否具有附加参数:0,无;1,有;2,可选;

int has_arg;

//指向整数,用于保存val的值,设为0

int *flag;

//选项短名称

int val;

};

函数getopt_long()

-v /--verbose:输出复杂信息

C++学习笔记16:Linux系统编程基础1的更多相关文章

  1. 读书笔记之Linux系统编程与深入理解Linux内核

    前言 本人再看深入理解Linux内核的时候发现比较难懂,看了Linux系统编程一说后,觉得Linux系统编程还是简单易懂些,并且两本书都是讲Linux比较底层的东西,只不过侧重点不同,本文就以Linu ...

  2. Linux系统编程——基础命令总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/asialee_bird/article/ ...

  3. Scala学习笔记(一)编程基础

    强烈推荐参考该课程:http://www.runoob.com/scala/scala-tutorial.html 1.   Scala概述 1.1.  什么是Scala Scala是一种多范式的编程 ...

  4. Linux学习笔记之Linux系统的swap分区

    0x00 什么是swap分区 Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空 ...

  5. Linux 系统编程 学习 总结

    背景 整理了Liunx 关于 进程间通信的 很常见的知识. 目录 与 说明 Linux 系统编程 学习:000-有关概念 介绍了有关的基础概念,为以后的学习打下基础. Linux 系统编程 学习:00 ...

  6. SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...

  7. gdb笔记 ---《Linux.C编程一站式学习》

    gdb笔记 ---<Linux.C编程一站式学习> 单步执行和跟踪函数调用 函数调试实例 #include <stdio.h> int add_range(int low, i ...

  8. Linux 系统编程 学习:00-有关概念

    Linux 系统编程 学习:00-有关概念 背景 系统编程其实就是利用系统中被支持的调度API进行开发的一个过程. 从这一讲开始,我们来介绍有关Linux 系统编程的学习. 知识 在进行Linux系统 ...

  9. Linux 系统编程 学习:03-进程间通信1:Unix IPC(2)信号

    Linux 系统编程 学习:03-进程间通信1:Unix IPC(2)信号 背景 上一讲我们介绍了Unix IPC中的2种管道. 回顾一下上一讲的介绍,IPC的方式通常有: Unix IPC包括:管道 ...

随机推荐

  1. [问题2014S08] 解答

    [问题2014S08] 解答 (此解答由徐昊宸同学和鹿彭同学提供) 设 \(P_1(\lambda),P_2(\lambda),Q_1(\lambda),Q_2(\lambda)\) 为可逆 \(\l ...

  2. jQuery判断当前元素是第几个元素

    $("ul li").click(function () { var index = $("ul li").index(this); alert(index); ...

  3. 关于SQLite数据库的作业

    数据库的SQL预览代码我忘了复制了 只能截图 Students表: Course表: Score表: Teachcer表:

  4. Intellij自动下载导入框架包

    忽然发现intellij尽然可以自动导入 框架所需的包,而且可以选择jar包版本,瞬间发现Maven,gradle管理jar包还得写配置文件弱爆了. 以Hibernate为例: 1.ProjectSt ...

  5. centos使用yum安装mysql

    参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/dow ...

  6. CSS3之尖角标签

    如图所示,Tag标签的制作通常使用背景图片,现在用CSS3代码就能实现尖角效果(需浏览器支持CSS3属性). 运用CSS3样式实现尖角标签,只需要写简单的HTML结构和CSS样式. <p> ...

  7. 今天的感悟,对于python中的list()与w3c教程

    首先本来想百度一下python定义列表的时候用 list()与直接用[]有什么区别,其中没有找到相关直接资料,看到了W3c菜鸟教程中之前看到的tuple,不禁想起list(tuple)是用来将元组转换 ...

  8. mac 激活Ultra Edit16

    一.文本编辑器UltraEdit 参照Ultra Edit16.10 Mac 破解下载,或者官方下载 Ultra Edit16即可 printf of=/Applications/UltraEdit. ...

  9. java complier compliance level问题引发的思考

    http://blog.csdn.net/shan9liang/article/details/17266519 ******************************************* ...

  10. java读取配置文件中数据

    Properties pps=new Properties();        try {            pps.load(new FileInputStream("src/emai ...