相关疑难解决方法(0)

如何在C++中解析命令行参数?

可能重复:
C++有哪些参数解析器库?

如果指定程序运行如下,那么在C++中解析命令行参数的最佳方法是什么:

prog [-abc] [input [output]]
Run Code Online (Sandbox Code Playgroud)

STL中有一个库可以做到这一点吗?


有关:

c++ command-line arguments

183
推荐指数
8
解决办法
26万
查看次数

C++有哪些参数解析器库?

我想以下列方式将参数传递给我的C++程序:

./myprog --setting=value
Run Code Online (Sandbox Code Playgroud)

是否有任何图书馆可以帮助我轻松完成这项工作?

另请参阅C和Unix的Argument-parsing helpers

c++ parsing option

70
推荐指数
8
解决办法
4万
查看次数

用于C/Unix的参数解析助手

我知道以下内容:

  • 令人尊敬的 getopt(3)
  • 扩展 getopt_long
  • glibc argp用于Unix风格的参数向量的解析器
  • 来自GNOME项目的popt(或其在Glib中的精神继承者)

我确信还有更多我没有使用过甚至没有听过的; 快速谷歌搜索显示Gopt,argtableOptlist.

就个人而言,我argp最喜欢,并且我使用getopt/ 编写的每个程序getopt_long(超出某个复杂的基线)都已转换为使用argp.它比所有GNU风格的约定更加广泛可用popt,比getopt_long文档更强大,更灵活.在缺点方面,它远非最容易使用(由于非常灵活),并且支持它的代码非常冗长(C中的许多内容也是如此).

你用了什么,为什么?

是的,我的意思是C而不是C++.有大量的C++解析器,但我不使用C++.

约翰米利金指出,popt不再维持.我列出它是因为许多程序仍在使用它 - 包括AbiWord,rpm,rsync和samba - 尽管Gnome努力迁移.但我现在也添加了一个指向Glib的参数解析器的链接.


对于C++参数解析,请参阅问题C++有哪些参数解析器库?

c command-line parsing

37
推荐指数
2
解决办法
1万
查看次数

Win32 API命令行参数解析

我正在编写Win32控制台应用程序,它可以使用这样的可选参数启动:

app.exe /argName1:"argValue" /argName2:"argValue"
Run Code Online (Sandbox Code Playgroud)

我是否必须手动解析它(以便能够确定哪些参数存在)来自argc/argv变量,或者Win32 API是否包含一些参数解析器?

c windows winapi command-line command-line-arguments

15
推荐指数
3
解决办法
2万
查看次数

Unix shell命令的一般语法是什么?

特别是,为什么有时某些命令的选项前面有一个+符号,有时候是一个-符号?

例如:

sort -f
sort -nr
sort +4n
sort +3nr
Run Code Online (Sandbox Code Playgroud)

unix sorting shell

10
推荐指数
2
解决办法
3550
查看次数

在C++中解析命令行参数的有效方法是什么?

有没有一种真正有效的方法来处理C++中的命令行参数?

我在下面做的事情感觉完全是业余的,我无法想象这是如何在专业软件中真正处理命令行参数(atoi,硬编码的argc检查).

// Command line usage: sum num1 num2

int main(int argc, char *argv[])
{
   if (argc < 3)
   {
      cout << "Usage: " << argv[0] << " num1 num2\n";
      exit(1);
   }
   int a = atoi(argv[1]);    int b = atoi(argv[2]);    int sum = a + b;
   cout << "Sum: " << sum << "\n";
   return 0; }

c++ command-line-arguments

6
推荐指数
1
解决办法
3422
查看次数

3
推荐指数
3
解决办法
8028
查看次数