繁体   English   中英

使用 c++ stl 替代 unistd.h getopt

[英]Alternative to unistd.h getopt using c++ stl

我正在为我们将在各种平台上使用的用户编写一个 C++ 命令行应用程序。 出于这个原因,我只使用 stl 进行编写。 我想知道 stl 是否有一种很好的方法来解析类似于unistd.h/getopt.h使用的 getopt 函数的输入参数(因为据我所知,这些不是独立于平台的)。 我已经想过做一些类似while/for loopswitch语句的事情,但想知道是否有更优雅的东西。 C++11 可以,boost 不行。

确实,标准 C++ 中没有办法,但getopt是 POSIX 标准,它涵盖了很多平台(Linux、*NIX、*BSD、MacOS、iOS、Android、Cygwin)。

在本机 Win32 上,只需将wingetopt 之类的东西嵌入到您的项目中(BSD 许可)。 FreeBSD getopt.c也可以很容易地移植(尽管它不支持长选项格式)。

解决这个问题的方法是自己编写或使用 boost。 从 C++11 开始,没有标准的“getopt”功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM