簡體   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