TP 3 de Système 1ere Année Informatique 2005-2006 : les fichiers
Exercice 1 (Mise en train)
Les arguments de la fonction main :
int main(int argc, char *argv[]) {
...
}
- argc
- nombre d'arguments, y compris le nom du programme.
- argv
- tableau de chaînes de caractères. argv[0] est
le nom du programme, et argv[argc-1] est le dernier
argument.
Écrivez un programme qui affiche ses arguments (echo, quoi).
Exercice 2
Question 1
Écrivez le programme afficher, qui affichera le contenu
d'un fichier (qu'on suppose contenir du texte). Le chemin du
fichier à afficher sera passé en paramètre.
Question 2
Écrivez le programme afficherBinaire, qui affichera le contenu
d'un fichier de la manière suivante : chaque octet du fichier sera affiché sur une ligne, avec :
- son code en décimal ;
- son code en hexadécimal ;
- sa valeur comme caractère, s'il s'agit d'un caractère imprimable.
L'affichage sera effectué par la fonction printf (regardez sa
doc pour voir comment afficher une valeur en hexadécimal).
Pour savoir si un caractère est imprimable, si c'est un
chiffre, etc... vous devez utilisez les fonctions C adéquates
(regardez le man de isalpha pour voir toutes ces fonctions).
Exercice 2
Écrivez un programme qui compte le nombre de 'e' dans un fichier.
Exercice 3
Écrivez un programme qui lira sur chaque ligne une expression arithmétique simple de la forme
a [*+/-] b
et qui affiche leur valeur.
Vous lirez l'expression avec scanf.
Exercice 4
Écrire un programme qui prendra comme arguments :
- un nom de fichier source
- un nom de fichier destination
- des numéros de lignes (on commence à 0)
et qui écrira dans le fichier destination les lignes du fichier source dont les numéros seront donnés.
Indication : pour convertir une chaîne de caractères en entier, on peut utiliser la fonction C atoi
.