0% found this document useful (0 votes)
19 views

C - Command Line Arguments

The document discusses how to pass command line arguments to C programs. Command line arguments are handled using the main() function, where argc is the number of arguments and argv is a pointer array containing each argument. Arguments are accessed as argv[1], argv[2] etc, with argv[0] being the program name. The example program checks the number of arguments passed and prints the first argument or an error message accordingly.

Uploaded by

Marcelo Luna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

C - Command Line Arguments

The document discusses how to pass command line arguments to C programs. Command line arguments are handled using the main() function, where argc is the number of arguments and argv is a pointer array containing each argument. Arguments are accessed as argv[1], argv[2] etc, with argv[0] being the program name. The example program checks the number of arguments passed and prints the first argument or an error message accordingly.

Uploaded by

Marcelo Luna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

C - Command Line Arguments https://www.tutorialspoint.com/cprogramming/c_command...

C - Command Line Arguments

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 take action accordingly −

#include <stdio.h>

int main( int argc, char *argv[] ) {

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.

$./a.out testing1 testing2


Too many arguments supplied.

When the above code is compiled and executed without passing any argument, it produces
the following result.

$./a.out

1 of 2 4/10/22, 17:45
C - Command Line Arguments https://www.tutorialspoint.com/cprogramming/c_command...

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>

int main( int argc, char *argv[] ) {

printf("Program name %s\n", argv[0]);

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.

$./a.out "testing1 testing2"

Program name ./a.out


The argument supplied is testing1 testing2

2 of 2 4/10/22, 17:45

You might also like