Learn how to access command line parameters in C
At yourCProgram, you may need to accept parameters from the command line when the command starts.
For simple needs, all you have to do is changemain()
Feature signature from
int main(void)
To
int main (int argc, char *argv[])
argc
Is an integer containing the number of parameters provided on the command line.
argv
Is anLarge numbersString.
When the program starts, the parameters will be provided in these two parameters.
Please note,
argv
Array: program name
Let us take the C compiler used to run the program as an example, as shown below:
gcc hello.c -o hello
If this is our program, we will haveargc
4 yearsargv
Is an array containing the following
gcc
hello.c
-o
hello
Let us write a program that prints the received parameters:
#include <stdio.h>
int main (int argc, char *argv[]) {
for (int i = 0; i < argc; i++) {
printf("%s\n", argv[i]);
}
}
If our program name ishello
We run it like this:./hello
, We take it as output:
./helloIf we pass some random parameters, like this: ./hello a b c
we’d get this output to the terminal:
./hello
a
b
cThis system works great for simple needs. For more complex needs, there are commonly used packages like getopt.
Download my free C Handbook
More clang tutorials:
- Introduction to the C Programming Language
- C Variables and types
- C Constants
- C Operators
- C Conditionals
- How to work with loops in C
- Introduction to C Arrays
- How to determine the length of an array in C
- Introduction to C Strings
- How to find the length of a string in C
- Introduction to C Pointers
- Looping through an array with C
- Booleans in C
- Introduction to C Functions
- How to use NULL in C
- Basic I/O concepts in C
- Double quotes vs single quotes in C
- How to return a string from a C function
- How to solve the implicitly declaring library function warning in C
- How to check a character value in C
- How to print the percentage character using `printf()` in C
- C conversion specifiers and modifiers
- How to access the command line parameters in C
- Scope of variables in C
- Can you nest functions in C?
- Static variables in C
- C Global Variables
- The typedef keyword in C
- C Enumerated Types
- C Structures
- C Header Files
- The C Preprocessor