Présentation:

On appel un paramètre ou un argument ce que l’on passe au code juste avant l’exécution (car le code est vu comme une fonction) sous Unix, sous linux ..et même sous windows (dos)

par ls -l , ls est le programme ou la commande (le code exécutable) -l est un argument, donc il est évident que c’est important

vous pouvez tester par exemple firefox !

firefox https://workboot.fr

En langage C, la fonction main constitue le point d’entrée principal d’un programme. Conformément aux conventions établies par Brian Kernighan et Dennis Ritchie (K&R), il est courant — et recommandé — de définir la fonction main sous la forme suivante :

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

ou 
int main (int argc, char **argv)

Cette signature permet de recevoir les arguments passés en ligne de commande au moment de l’exécution du programme. Le passage de paramètres via argc et argv est une convention respectée par l’ensemble des programmes C portables et compatibles avec les systèmes UNIX et POSIX, et elle permet une grande souplesse dans le contrôle du comportement d’un programme.

  • argc (argument count) représente le nombre total d’arguments passés au programme, y compris le nom du programme lui-même.
  • argv (argument vector) est un tableau de chaînes de caractères représentant chaque argument passé.

Par exemple, si le programme est lancé avec :

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char **argv)
{
    int cpt;

    printf("Nombre d'arguments : %d\n", argc);

    for (cpt = 0; cpt < argc; cpt++) {
        printf("Argument %d : %s\n", cpt, argv[cpt]);
    }

    return EXIT_SUCCESS;
}
# exemple de syntaxe
./mon_programme fichier.txt -v

alors :

  • argc == 3
  • argv[0] == "./mon_programme"
  • argv[1] == "fichier.txt"
  • argv[2] == "-v"

Code utilisant le passage paramètre.