C - Command Line Arguments
C - Command Line Arguments
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 take action
accordingly −
#include <stdio.h>
if( argc == 2 ) {
printf("The argument supplied is %s\n", argv[1]);
}
else if( argc > 2 ) {
printf("Too many arguments supplied.\n");
}
else {
printf("One argument expected.\n");
}
}
When the above code is compiled and executed with single argument, it produces
the following result.
$./a.out testing
The argument supplied is testing
When the above code is compiled and executed with a two arguments, it produces
the following result.
https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm 1/3
6/17/24, 12:21 AM C - Command Line Arguments
When the above code is compiled and executed without passing any argument, it
produces the following result.
$./a.out
One argument expected
It should be noted that argv[0] holds the name of the program itself and argv[1] is
a pointer to the first command line argument supplied, and *argv[n] is the last
argument. If no arguments are supplied, argc will be one, and if you pass one
argument then argc is set at 2.
You pass all the command line arguments separated by a space, but if argument
itself has a space then you can pass such arguments by putting them inside double
quotes "" or single quotes ''. Let us re-write above example once again where we will
print program name and we also pass a command line argument by putting inside
double quotes −
#include <stdio.h>
if( argc == 2 ) {
printf("The argument supplied is %s\n", argv[1]);
}
else if( argc > 2 ) {
printf("Too many arguments supplied.\n");
}
else {
printf("One argument expected.\n");
}
}
When the above code is compiled and executed with a single argument separated by
space but inside double quotes, it produces the following result.
https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm 2/3
6/17/24, 12:21 AM C - Command Line Arguments
https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm 3/3