1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| //Inclusion des bibliothèques
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include unistd.h
#define NBARGUMENTS 4
// Début du prgramme principal
// argc désigne le nombre d'arguments
// argv[ ] désigne le tableau contenant les arguments
int main(int argc, char *argv[])
{
// on déclare les variables
FILE* fichierEntree;
FILE* fichierSortie;
// Si on n'a pas 4 arguments : le répertoire, le mode d'execution, le fichier d'entrée et le fichier de sortie
if ( argc <= NBARGUMENTS )
{
// Il manque des arguments
printf("usage: %s mode fichier_entrée _fichier_sortie\n", argv[0]);
// Inutile de continuer
return (-1);
}
// on ouvre le fichier d'entrée et on vérifie l'ouverture
fichierEntree = fopen(argv[2],"r");
if (fichierEntree == NULL)
{
// Gros pb (probablement fichier inexistant)
printf("Impossible d'ouvrir %s\n", argv[2]);
// Inutile de continuer
return (-2);
}
// on ouvre le fichier de sortie et on vérifie l'ouverture
fichierSortie = fopen(argv[3],"r");
if (fichierSortie == NULL)
{
// Gros pb (probablement problèmes de droits)
printf("Impossible d'ouvrir %s\n", argv[3]);
// Le fichier d'entrée est devenu inutile
fclose(fichierEntree);
// Inutile de continuer
return (-3);
}
// Tout est ok, on peut travailler
printf("\t mode : %s\n\t fichier d'entrée : %s\n\t fichier de sortie : %s\n\n", argv[1], argv[2], argv[3]);
//on copie fichier entrer dans fichier sortie
...
// On ferme les fichiers
fclose(fichierEntree);
fclose(fichierSortie);
} |
Partager