getopt()函数、argc, argv[ ]

本文探讨了在C语言和Python中如何使用getopt函数来处理命令行参数。在Linux环境中,getopt是处理命令行选项的常见工具,而在Python中,它同样用于解析命令行输入。通过示例,如运行`python run_trackers.py -stb50`,我们看到语言间的相通性,强调了编程技巧的可迁移性。
摘要由CSDN通过智能技术生成

在c语言总,main函数一般不加参数,但是其实是可以加参数的

在linux中就经常用到带参的main函数

经常会用到getopt()函数,可自己查下

 

在python中也有getopt()函数,用法也是取得命令行参数

例如python经常这样运行文件:python run_trackers.py -s tb50

 

感悟:语言都是相通的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个使用getopt函数解析命令行参数的示例。其中: - "hso:o::"是所有可选参数的字符串,其中'h'、's'、'o'后面没有冒号,表示它们不需要参数;而第二个'o'后面有一个冒号,表示它需要一个参数,而第三个'o'后面有两个冒号,表示它可以有一个可选参数。 - opt是一个int类型的变量,用于保存当前解析到的选项。 - optarg是一个char*类型的指针,用于保存当前选项的参数。 - 在while循环中不断解析命令行参数,直到所有参数都被解析完毕。 一个简单的示例程序如下: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { int opt; char *output_file = NULL; int silent = 0, help = 0; while ((opt = getopt(argc, argv, "hso:o::")) != -1) { switch (opt) { case 'h': help = 1; break; case 's': silent = 1; break; case 'o': output_file = optarg; break; default: fprintf(stderr, "Usage: %s [-h] [-s] [-o output_file] [file ...]\n", argv[0]); exit(EXIT_FAILURE); } } if (help) { printf("Usage: %s [-h] [-s] [-o output_file] [file ...]\n", argv[0]); exit(EXIT_SUCCESS); } if (!silent) { printf("output_file = %s\n", output_file ? output_file : "(null)"); printf("argc = %d\n", argc); for (int i = optind; i < argc; ++i) { printf("argv[%d] = %s\n", i, argv[i]); } } return 0; } ``` 可以通过以下命令行参数运行该程序: ``` ./a.out -s -o output.txt file1.txt file2.txt ``` 输出如下: ``` output_file = output.txt argc = 4 argv[3] = file1.txt argv[4] = file2.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值