string inputFile, outputFile;
/* Populate command line arguments */
po::options_description desc("Usage: KDMGenerator [OPTIONS]");
{
desc.add_options()
("help", "prints this message")
( "input-file", po::value<string>(&inputFile), "input file name" )
( "output-file", po::value<string>(&outputFile), "output file name");
}
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
if (vm.count("help") || !vm.size())
{
cout <<desc;
return 0;
}
if(vm.count("input-file"))
{
cout << "Input file :" << inputFile << '\n';
}
if(vm.count("output-file"))
{
cout << outputFile << '\n';
}
The issue I am facing is that if i I call my program without passing value for input file, something like
i.e the value "--output-file" get stored in inputFile and vm.count("output-file") returns zero.