Learn how to efficiently access command line parameters in your C programs. This guide will provide you with step-by-step instructions and helpful tips.
In C programming, you often need to accept parameters from the command line when launching a command. To accomplish this, you can modify the signature of the main()
function as follows:
int main(int argc, char *argv[])
Here, argc
represents the number of parameters provided in the command line, while argv
is an array of strings. When your program starts, these two parameters will be populated with the provided arguments.
It’s important to note that the argv
array always contains at least one item: the name of the program itself.
To illustrate this, let’s consider an example of using the C compiler to run our program:
gcc hello.c -o hello
In this case, argc
would be equal to 4, and argv
would be an array containing the following elements:
gcc
hello.c
-o
hello
To demonstrate the functionality of accessing command line parameters, we can write a simple program that prints the received arguments:
#include <stdio.h>
int main(int argc, char *argv[]) {
for (int i = 0; i < argc; i++) {
printf("%s\n", argv[i]);
}
}
Assuming the name of our program is hello
, let’s run it using ./hello
. The output would be:
./hello
Alternatively, if we pass random parameters like ./hello a b c
, the output would be:
./hello
a
b
c
This approach works perfectly for basic requirements. However, for more complex needs, a widely used package called getopt can be very helpful.
Tags: command line parameters, C programming, getopt