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 :

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 :
  1. un nom de fichier source
  2. un nom de fichier destination
  3. 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.