使用c++stl替代unistd.h getopt
Alternative to unistd.h getopt using c++ stl
我正在为用户编写一个C++命令行应用程序,我们将在各种平台上使用它。因此,我只使用stl进行写作。我想知道stl是否有一种类似于unistd.h/getopt.h
中使用的getopt函数的解析输入参数的好方法(因为据我所知,这些函数与平台无关)。我已经考虑过做一些类似while/for loop
和switch
的语句,但不知道是否还有更优雅的语句。C++11可以,boost不行。
标准C++确实没有办法,但getopt
是一个POSIX标准,它涵盖了许多平台(Linux、*NIX、*BSD、MacOS、iOS、Android、Cygwin)。
在本机Win32上,只需将wingetopt之类的东西嵌入到您的项目中(BSD许可)。此外,FreeBSD getopt.c可以很容易地移植(尽管它不支持长选项格式)。
解决方案是编写自己的或使用boost。从C++11开始,还没有标准的"getopt"功能。
相关文章:
- atof coredump with getopt
- unistd read() 不起作用
- 在C++中使用getopt时打印默认参数
- Playing around with getopt
- 任何人都有unistd.h在Ubuntu上找不到的情况
- 为什么从unistd.h调用crypt()函数会将errno设置为ENOENT?
- C++ (int getopt(argc, (char **)argv, optstring)
- 使用 "addinclude unistd" 修改生成文件
- UNISTD:没有这样的文件或目录
- 包括哪个Unistd.h?(C )
- Getopt总是返回1
- 如何使用标题fcntl.h和unistd.h读取和写入
- C/C++ getopt optstring syntax
- Windows C 上GetOpt功能的替代方法是什么?
- getopt:不识别有效的命令行参数
- 将 klib 的 knetfile.c|h 移植到 Windows,当我在"windows unistd.h"中订阅时,出现错误 C2036:"void *":未知大小
- 使用c++stl替代unistd.h getopt
- clang++:致命错误:找不到'unistd.h'文件
- 哪个库'在明,我链接fcntl.h和unistd.h
- VC++找不到 #include < unistd.h> #include <getopt.h>