`

getopt test

阅读更多
试了一下getopt,代码如下:
#include<unistd.h>
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char** argv) {
    int c;
    char * filename = NULL;
    char * input_path = NULL;
    char * output_path = NULL;
    bool each_by_line = false;
    while((c=getopt(argc,argv,"lf:i:o:")) != -1){
        switch(c){
            case 'f':
                filename = optarg;
                break;
            case 'i':
                input_path = optarg;
                break;
            case 'o':
                output_path = optarg;
                break;
            case 'l':
                each_by_line = true;
        }
    }
	
	if(each_by_line){
		printf("process one line each time\n");
	}else if(filename != NULL){
		if(input_path == NULL || output_path == NULL){
			fprintf(stderr,"if filename is set, the input_path and output_path should be set,too\n");
			exit(1);
		}
		printf("process one file each time\n");
		printf("filename:%s,input_path:%s,output_path:%s\n",filename,input_path,output_path);
	}else{
		printf("process by default\n");
	}
	return 0;
}
分享到:
评论

相关推荐

    getopt在win32的实现(含源代码)

    `test.c`则是一个示例程序,展示了如何在Win32下使用移植后的`getopt`。 `ChangeLog`文件记录了代码的修改历史,对于理解代码的演变和修复的bug很有帮助。`LICENSE`文件规定了代码的使用许可条件,通常遵循开源协议...

    前端开源库-node-getopt

    例如,如果用户输入了`-v --output test.txt`,你可以这样访问: ```javascript console.log('是否启用详细输出:', args.options.verbose); console.log('输出文件:', args.options.output); ``` **三、选项...

    Linux库函数getopt详解,有相关的源码测试结果,简单一看就懂。

    执行命令`./test -x`,如果`optstring`中没有定义`x`选项,`getopt`会返回`'?'`。 **示例3:** 匹配到的参数会被提前 对于命令`./test -a arg1 -b arg2 arg3`,解析完成后,`argv`数组中的元素会被重新排列,将选项...

    getopt命令 解析命令行选项

    getopt命令用于解析命令行选项,检测给定的选项是否合法。在此命令中,选项部分主要用于影响getopt命令解析选项,其中optstring是...检查提供的参数列表(-a -b test1 -cd test2 test3),并基于提供的optstring进行解析

    Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt函数方式解析命令行参数)

    1、Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt解析命令行参数).c 代码的源文件。 user-usergroup-authoritys.vsd user-usergroup-authoritys.jpg 数据库的图,以及图片。 2、...

    python getopt详解及简单实例

    ### Python Getopt 模块详解及简单实例 #### 一、引言 在Python中,`getopt`模块主要用于解析命令行参数。这对于编写能够接受命令行参数的脚本非常有用,例如设置脚本的工作目录、指定日志级别等。本文将详细介绍`...

    python通过getopt模块如何获取执行的命令参数详解

    下面我通过新建一个test.py的脚本解释下这个模块的的使用 #!/usr/bin/python # -*- coding: utf-8 -*- import sys import getopt if __name__=='__main__': print sys.argv opts, args = getopt.getopt(sys.argv...

    Getopt-Alt:Getopt-Alt 的只读发布历史

    要安装此模块,请运行以下命令: perl Build.PL ./Build ./Build test ./Build install SUPPORT AND DOCUMENTATION 安装后,您可以使用 perldoc 命令找到此模块的文档。 perldoc Getopt::Alt 您还可以在以下位置查找...

    getoptpp:自动从code.google.compgetoptpp导出

    这是getopt函数的另一个C ++版本,用于解析命令行选项和环境变量。 但是,与其他版本不同,此版本的设计目标是: 易于使用 简单易学 模仿STL的流 键入的最小代码 与STL类型的平滑集成 平台无关(ANSI C ++) 易于...

    cli-test:测试命令行界面

    10. **命令行参数处理**:测试可能涉及到如何处理命令行参数,比如通过`getopts`或`getopt`函数。 通过学习和使用"cli-test"项目,开发者可以提升自己的shell脚本编写和测试能力,更好地理解和调试命令行工具,从而...

    Python 获得命令行参数的方法(推荐)

    本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys...

    centos7 perl rpm依赖包

    装mysql时提示少perl,安装perl需要依赖包。已包含下面所有包, 版本号匹配。 [Linux]centOS7下RPM...perl-Getopt-Long-2.40-2.el7.noarch 4:perl-5.16.3-286.el7.x86_64 kernel-devel-3.10.0-327.10.1.el7.x86_64

    Test_PHP获取串口数据_串口PHP_PHP串口_PHP串口_源码.zip

    你需要先通过PEAR安装`System`和`Console_Getopt`库,然后才能使用`SerialPort`。它的用法相对简单,类方法如`open()`、`write()`、`read()`和`close()`与`php_serial`扩展类似。 在实际应用中,获取串口数据的流程...

    php cli模式下获取参数的方法

    执行`php test.php -a 1 -b 2 -c 3 -d=4 -e`,`getopt`将返回一个包含选项和值的数组。 2. 使用`longopts`参数: ```php $longopt = array('type:', 'is_hot:', 'limit::', 'expire:'); $param = getopt('', $...

    Python编写带选项的命令行程序方法

    本文将详细介绍如何使用Python的`getopt`模块来实现这一功能。 首先,当我们运行Python程序时,可以直接在命令行传递参数,如`python test.py arg0 arg1 arg2`。这些参数可以通过`sys.argv`获取,其中`sys.argv[0]`...

    python获得命令行输入的参数的两种方式

    例如,如果我们有一个名为 `test.py` 的脚本,并在命令行中输入 `python3 test.py 参数1 参数2`,`sys.argv` 将如下所示: ```python import sys print(sys.argv) print(len(sys.argv)) print(len(sys.argv[1...

    apr动态加载.dll和.so

    3. 引入必要的头文件,如 `&lt;apr_getopt.h&gt;`、`&lt;apr_general.h&gt;`、`&lt;apr_dso.h&gt;`,以及需要调用的库中声明的头文件(如 `test.h` 和 `Input.h`)。 4. 定义一个类 `CLoadTestTest`,其中包含加载库并调用其函数的...

    python相似模块用例

    本文将深入探讨两个常用的线程模块——`threading`和`Thread`,以及解析命令行选项的`getopt`和`optparse`模块。 首先,让我们来看看`threading`与`Thread`的区别。`Thread`是Python标准库中的低级线程接口,它提供...

Global site tag (gtag.js) - Google Analytics