
Hi All, I am using program option for my program. Here is my code snippet 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 ./myapp --input-file --output-file out.txt I get Input file: --output-file i.e the value "--output-file" get stored in inputFile and vm.count("output-file") returns zero. Is this the desired behavior? Is there any workaround for this? -- Vivek,