-
Récupération des arguments :
// Affiche les arguments d'un programme C
// Compiler avec gcc -Wall -g -std=c99 -o arguments arguments.c
#include <stdio.h>
int main(int argc,char *argv[]){
printf("Nombre d'arguments : %d\n",argc);
printf("Chemin de l'exécutable : '%s'\n",argv[0]);
for(int i=1;i<argc;i++)
printf("Argument n°%d : '%s'\n",i,argv[i]);
return 0;
}
- Exemple d’exécution :
$ ./arguments un dix "vingt et un"
Nombre d'arguments : 4
Chemin de l'exécutable : './arguments'
Argument n°1 : 'un'
Argument n°2 : 'dix'
Argument n°3 : 'vingt et un'
- Récupération des variables d’environnement :
// Affiche les variables d'environnement
// Compiler avec gcc -Wall -g -std=c99 -o variables variables.c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NOM 1024
extern char **environ;
int main(void){
while(*environ!=NULL){
char nom[MAX_NOM];
if(sscanf(*environ,"%[^=]",nom)==1)
printf("Variable %s -> '%s'\n",nom,getenv(nom));
environ++;
}
return 0;
}
- Valeur de retour :
// Implante les executables true et false
// Compiler avec gcc -Wall -g -o booleen booleen.c
// Installer avec ln -s booleen true; ln -s booleen false
#include <stdio.h>
#include <string.h>
int main(int argc,char *argv[]){
char *base=strrchr(argv[0],'/');
if(base==NULL) base=argv[0];
if(strcmp(base,"true")==0) return 0; else return 1;
}
- Exemple d’exécution :
$ true ; echo $?
0
$ false ; echo $?
1
$ if true ; then echo VRAI ; else echo FAUX ; fi
VRAI
$ if false ; then echo VRAI ; else echo FAUX ; fi
FAUX