import std.stdio;
import std.getopt;
/*
* 本程序的目的是读取文件区分图片文件是gif、jpeg、png
* @see https://github.com/katsumeshi/image-base64-rs/blob/master/src/lib.rs
* if Regex::new(r"^ffd8ffe0").unwrap().is_match(hex) {
* return "jpeg"
* } else if Regex::new(r"^89504e47").unwrap().is_match(hex) {
* return "png"
* } else if Regex::new(r"^47494638").unwrap().is_match(hex) {
* return "gif"
* }
*
*/
/// main
void main(string[] args)
{
string ver;
string imgFileName;
void verHandler(string option)
{
writeln("版本是V0.0.1");
}
void imgHandler(string option,string value){
writeln("图像文件名:",value);
}
auto helpInformation = getopt(
args,
"version|v", "版本号", &verHandler,
"author"," Sunny", delegate() {writeln("Sunny");return;},
"file|f", "图像文件名", &imgHandler
);
if (helpInformation.helpWanted)
{
defaultGetoptPrinter("Some information about the program.", helpInformation.options);
}
}
相关推荐
在Linux和Unix-like操作系统中,命令行参数的解析是一个常见的任务,`getopt`函数库提供了处理这种问题的标准方法。`getopt`是C语言中用于解析命令行选项的一个库函数,它允许程序以结构化的方式处理命令行参数。...
win10 vs2019下的 getopt及getopt_long getopt/getopt_long函数是GNU C中的函数
在C语言编程中,`getopt.h` 和 `getopt.c` 是两个非常重要的文件,它们主要用于处理命令行参数。`getopt` 是一个库函数,用于解析程序启动时的命令行选项,而 `getopt_long` 是 `getopt` 的扩展版本,增加了对长选项...
3. 如果选项需要一个参数(如 `-f filename`),`getopt` 会在找到选项后返回参数值,或者在找不到参数时给出错误提示。 4. 当所有选项都处理完毕,`getopt` 将开始返回 `EOF`,表示没有更多的选项。 在实际编程中...
`getopt.h` 和 `getopt.c` 是在C语言编程中处理命令行选项解析的两个关键文件。`getopt` 函数是C标准库的一部分,通常用于解析命令行参数,而`getopt_long` 是一个扩展功能,提供更方便的方式来处理长选项。 `...
`getopt`是一个在许多Unix-like操作系统中广泛使用的命令行参数解析函数库。它使得程序能够解析命令行选项,按照标准的Unix风格处理 `-` 开头的单字符选项和 `--` 开头的长选项。这个库对于编写接受命令行参数的程序...
当getopt遍历完所有的选项后,`optind`将指向非选项参数的起始位置。 3. **Optarg**: 另一个全局变量,存储了当前选项的参数值,如果有的话。例如,如果用户输入`-f file.txt`,`optarg`会被设置为`"file.txt"`。 ...
在研究RTMP库的过程中,`getOpt.h`和`getOpt.c`文件是两个非常重要的组成部分,它们主要用于处理命令行参数。 `getOpt`函数是C语言中用于解析命令行选项的一个标准工具。在Linux或类Unix系统中,它是一个内置的...
### Linux中Getopt的深入解析与应用 #### Getopt功能概览 `getopt`是Linux及类Unix系统中用于解析命令行参数的一个强大工具,它简化了程序开发者处理复杂命令行选项的工作,使得程序能够更加高效地识别并响应用户...
缺少getopt.h头文件的,将文件下载后,放在你创建的工程下,并包含进你的代码里可以了。很好用! 适合C与C++,编译出错的话,可以关闭编译器重新编译!
在Windows操作系统中,通常开发环境使用的是MSVC (Microsoft Visual C++) 或者其他与Windows API紧密集成的工具,而这些工具并不直接支持Linux中的`getopt`、`getopt_long`和`getopt_long_only`函数。这些函数是用于...
添加引用后,使用范例如下: using CodePoints; using System; ... public static void Main ( string [] args ) { int c = 0, aflag = 0, bflag = 0; string cvalue = "(null)"; while ( ( c = GetOpt....
当`getopt`函数在`while`循环中使用时,循环结束后,剩下的字符串视为操作数,在`argv[optind]`至`argv[argc-1]`中可以找到。 * `int opterr`:这个变量非零时,`getopt`函数为“无效选项”和“缺少参数选项,并输出...
GNU libc提供了getopt和getopt_long用于解析命令行参数,使用方便,但是windows环境没有提供。故将GNU libc提供的源码稍加修改,整理出了windows下可用的getopt和getopt_long。
功能:C++命令行参数解析类...(控制台应用程序中使用)在 Windows 平台下使用 Linux 的 getopt, getopt_long, getopt_long_only 函数。压缩包内包含getopt.h,getopt.c和使用代码示例。在VS2010下编译通过,运行良好。
getopt实验代码
4. 遍历非选项参数:当所有选项都被处理完后,`getopt`会返回`-1`,此时`argv[optind]`指向第一个非选项参数。 在`getopt`的源文件中,我们可以看到以下关键点: 1. `getopt`函数的实现:这部分代码负责解析`argv`...
java-getopt-1.0.14.jar
`test.c`则是一个示例程序,展示了如何在Win32下使用移植后的`getopt`。 `ChangeLog`文件记录了代码的修改历史,对于理解代码的演变和修复的bug很有帮助。`LICENSE`文件规定了代码的使用许可条件,通常遵循开源协议...
`getopt`是一个标准C库函数,用于解析命令行参数,尤其在编写需要处理命令行选项的程序时非常有用。它能帮助你避免手动检查`argv`数组来处理各种选项和参数。`getopt`函数定义在`unistd.h`头文件中。 函数`int ...