Changes between Version 21 and Version 22 of CaoCourseTme1
- Timestamp:
- Feb 11, 2007, 1:57:56 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme1
v21 v22 83 83 84 84 Commencez par créer un second sous-répertoire tme1/etape2 dans votre répertoire tme1. 85 Recopiez les fichiers main.c et Makefile de dans ce sous-répertoire. La seconde étape consiste à86 écrire un fichier 'getarg.c', qui contient la fonctions getarg(). 87 Il faut modifier la fonction main(), qui ne doit plus faire l'analyse de la ligne de commande, 88 cette tâche étant réalisée par la fonction getarg(). Le fichier 'getarg.c' doit contenir aussi89 la déclaration de la variable globale mainarg, de type 'mainarg_t', qui contient les valeurs de tous les paramètres lus par la fonction getarg(). 85 Recopiez les fichiers main.c et Makefile de dans ce sous-répertoire. Dans cette seconde étape, 86 ce n'est plus le programme main() qui analyse la ligne de commande, car on souhaite introduire 87 des arguments optionnels dans la ligne de commande. La tâche d'analyse est effectuée par une 88 fonction getarg() contenue dans le fichier "getarg.c". Il faut donc modifier la fonction main(), 89 et écrire la fonction getarg(). 90 90 91 Le fichier 'getarg.h' doit contenir la définition du type mainarg_t, et la déclaration du prototype de la fonction getarg(): 91 Le fichier "getarg.c" doit contenir aussi la déclaration de la variable globale mainarg, 92 de type 'mainarg_t', qui contient les valeurs de tous les paramètres lus par la fonction getarg(). 93 94 Le fichier "getarg.h" doit contenir la définition du type mainarg_t, et la déclaration du prototype 95 de la fonction getarg() : 92 96 {{{ 93 97 typedef struct mainarg_t { … … 102 106 extern void getarg(int argc, char argv[]); 103 107 }}} 104 105 On souhaite que le prototype du programme 'pgmg' soit le suivant: 108 Le programme 'pgmg' a maintenant deux arguments obligatoires et deux arguments optionnels: 106 109 {{{ 107 110 pgmg [-c command_file_name] [-v] input_file_name output_file_name