Khi bạn sử dụng Boost thư viện program_options
nó là rất dễ dàng để in giúp đỡ cho chương trình của bạn:Print giúp đỡ cho cả args bình thường và vị trí với boost :: program_options
boost::program_options::variables_map options;
boost::program_options::options_description optionsDesc;
boost::program_options::positional_options_description positionalOptionsDesc;
//...
if(options.count("help"))
{
cerr << optionsDesc << endl;
}
Nhưng làm thế nào để bạn thêm các tùy chọn từ positional_options_description
để tin nhắn trợ giúp? Trong hướng dẫn tôi có thể thấy kết quả của ví dụ thiết lập, ở phần cuối của phần này:
http://www.boost.org/doc/libs/1_52_0/doc/html/program_options/tutorial.html#id2607297
Tùy chọn input-file
được in trong sự giúp đỡ và nó là vị trí. Nhưng tôi không thể nhìn thấy mã. Có cách tích hợp để in nó, như với options_description
hoặc bạn phải thực hiện thủ công? Rõ ràng <<
không làm việc cho positional_options_description
, lỗi biên soạn là:
error: cannot bind ‘std::ostream {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’
Nếu được, bạn có thể tìm mã đầy đủ [ở đây] (http://www.boost.org/libs/program_options/example/options_description.cpp). –
Cảm ơn llonesmiz, nó thực sự đã giúp rất nhiều! Mặc dù vậy, tôi không phải thêm các tham số vị trí vào 'options_description' nếu tôi thêm chúng vào' positional_options_description', nhưng bạn phải thêm vào cả hai. – nuoritoveri