[英]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”功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.