Présentation de argc et argv en C
En langage C, argc et argv sont des paramètres de la fonction main utilisés pour récupérer les arguments passés à un programme lors de son exécution. Ils permettent à un programme d'interagir avec la ligne de commande, ce qui est essentiel pour de nombreuses applications.
Définition
-
argc (argument count)
- Type : int
- Description : Représente le nombre d'arguments passés au programme, y compris le nom du programme lui-même.
- Exemple : Si le programme est exécuté avec ./monprogramme arg1 arg2, alors argc vaut 3.
-
argv (argument vector)
- Type : char *argv[] (tableau de chaînes de caractères)
- Description : Contient les arguments passés au programme. Chaque élément du tableau est une chaîne de caractères représentant un argument.
- Exemple : Si le programme est exécuté avec ./monprogramme arg1 arg2, alors argv est un tableau de chaînes contenant ["./monprogramme", "arg1", "arg2"].
Structure de la fonction main
La signature de la fonction main utilisant argc et argv est :
int main(int argc, char *argv[])
{
// Code du programme
}
Exemple de Code
//utilisation de argc et argv pour lire et afficher les arguments de la ligne de commande
#include <stdio.h>
int main(int argc, char *argv[])
{
// Affiche le nombre d'arguments
printf("Nombre d'arguments : %d\n", argc);
// Affiche chaque argument
for (int i = 0; i < argc; i++) {
printf("Argument %d : %s\n", i, argv[i]);
}
return 0;
}
Exemple d'exécution
Si le programme ci-dessus est compilé (dans un fichier nommé arguments.c) et exécuté avec les arguments suivants :
gcc -o arguments arguments.c
./arguments Hello World
La sortie serait :
Nombre d'arguments : 3
Argument 0 : ./arguments
Argument 1 : Hello
Argument 2 : World
Analyse de la sortie
Nombre d'arguments : 3 :
- Le programme indique qu'il a reçu 3 arguments. Cela inclut le nom du programme lui-même.
- Argument 0 : ./arguments :Le premier argument (index 0) est toujours le nom du programme exécuté.
- Argument 1 : Hello : Le deuxième argument (index 1) est le premier argument réel passé à la ligne de commande, ici "Hello".
- Argument 2 : World : Le troisième argument (index 2) est le deuxième argument réel, ici "World".
Conclusion
L'utilisation de argc et argv en C est une méthode puissante pour passer des informations à un programme via la ligne de commande. Elle permet de rendre les programmes plus flexibles et interactifs. La compréhension de ces paramètres est essentielle pour tout développeur travaillant en C, car elle ouvre la porte à une large gamme d'applications, des utilitaires simples aux systèmes complexes de traitement de données.