Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cmake_minimum_required(VERSION 3.10)
- #project(Radio)
- FIND_PACKAGE( Boost 1.40 COMPONENTS program_options REQUIRED )
- INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )
- add_executable(zadanie2 client.cpp)
- TARGET_LINK_LIBRARIES( zadanie2 LINK_PUBLIC ${Boost_LIBRARIES} )
- #include <boost/program_options.hpp>
- #include <iostream>
- using namespace boost::program_options;
- void on_age(int age)
- {
- std::cout << "On age: " << age << '\n';
- }
- int main(int argc, const char *argv[])
- {
- try
- {
- options_description desc{"Options"};
- desc.add_options()
- ("help,h", "Help screen")
- ("pi,p", value<float>()->default_value(3.14f), "Pi")
- ("age", value<int>()->notifier(on_age), "Age");
- variables_map vm;
- store(parse_command_line(argc, argv, desc), vm);
- notify(vm);
- if (vm.count("help"))
- std::cout << desc << '\n';
- else if (vm.count("age"))
- std::cout << "Age: " << vm["age"].as<int>() << '\n';
- else if (vm.count("pi"))
- std::cout << "Pi: " << vm["pi"].as<float>() << '\n';
- }
- catch (const error &ex)
- {
- std::cerr << ex.what() << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement