Parsing Command Line Parameters in C++ Program

It is possible to pass some values from the command line to your C++ programs when they are executed. These values are called command line arguments and many times they are important for your program especially when you want to control your program from outside instead of hard-coding those values inside the code.

The command line arguments are handled using main() function arguments where argc refers to the number of arguments passed, and argv[] is a pointer array which points to each argument passed to the program. Following is a simple example which checks if there is any argument supplied from the command line and takes action accordingly −

Example Code

#include <iostream>
using namespace std;
int main( int argc, char *argv[] ) {
   if( argc == 2 ) {
      cout << "The argument supplied is "<< argv[1] << endl;
   } else if( argc > 2 ) {
      cout << "Too many arguments supplied." <<endl;
   }else {
      cout << "One argument expected." << endl;


$./a.out testing
The argument supplied is testing


$./a.out testing1 testing2
Too many arguments supplied.


One argument expected

Updated on: 30-Jul-2019


Kickstart Your Career

Get certified by completing the course

Get Started