Command-Line Arguments in C


Introduction

Command-line arguments are a way to pass parameters to a C program when it's executed in a command-line environment. They allow users to customize the behavior of a program without modifying the source code. In this guide, we'll explore how to work with command-line arguments in C and provide sample code to illustrate their usage.


Command-Line Arguments

Command-line arguments are typically passed to a C program when it's run from the terminal. They are stored as strings and can be accessed from the program's

main()
function. The common format for running a C program with command-line arguments is:

./program_name arg1 arg2 arg3 ...

Accessing Command-Line Arguments

In C, the command-line arguments are passed to the

main()
function as parameters. The first parameter,
argc
, represents the number of arguments, and the second parameter,
argv
, is an array of strings containing the arguments. Here's how you can access them:

int main(int argc, char *argv[]) {
// argc is the argument count
// argv is the argument vector (array of strings)

// Access and process command-line arguments
for (int i = 1; i < argc; i++) {
printf("Argument %d: %s\\n", i, argv[i]);
}

return 0;
}

Sample Code

Let's explore some examples of working with command-line arguments in C:


Printing Command-Line Arguments

#include <stdio.h>
int main(int argc, char *argv[]) {
// Print all command-line arguments
for (int i = 1; i < argc; i++) {
printf("Argument %d: %s\\n", i, argv[i]);
}
return 0;
}

Calculating the Sum of Numbers

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Usage: %s num1 num2 ...\\n", argv[0]);
return 1;
}
int sum = 0;
for (int i = 1; i < argc; i++) {
sum += atoi(argv[i]);
}
printf("Sum of numbers: %d\\n", sum);
return 0;
}

Conclusion

Command-line arguments are a powerful feature in C programming, allowing users to customize program behavior without altering the source code. This guide has introduced you to the basics of working with command-line arguments in C, including accessing arguments and providing sample code for printing arguments and calculating the sum of numbers. As you continue your C programming journey, you'll find command-line arguments to be a valuable tool for creating versatile and user-friendly applications.