Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP 4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 1

TP4 - Manipulation des fichiers en C

Exercice 1: Écrire un programme C qui ouvre un fichier en lecture, ouvre un deuxième fichier en
écriture et copie chaque 2e caractère du premier fichier dans le deuxième. Les noms des fichiers seront
saisis au clavier.

Exercice 2: Supposons que le fichier fich.dat contient plusieurs lignes formatées de la façon
suivante : chaque ligne commence par un texte (qui ne contient aucun chiffre), puis le signe égal, un espace
(caractère de code ASCII 32) et enfin un entier d’au maximum 6 chiffres, écrit en décimal. On suppose
aussi que chaque ligne ne contient pas plus de 80 caractères, y compris les 6 chiffres finales, l’espace et le
caractère de retour à la ligne.
Écrire un programme qui lit, dans un tableau, les entiers du fichier, en ignorant tout le texte.
– Résoudre l’exo en supposant que le fichier ne contient pas plus de 20 lignes.
– Résoudre l’exo pour un fichier contenant un nombre arbitraire de lignes
Attention ! Bien compter le nombre de lignes dans le fichier, avant d’allouer de la mémoire au ta-
bleau !.
Indication : la fonction char *fgets(char *s, int dim, FILE *fich) remplit la variable s
avec une ligne entière lue dans un fichier (donc une chaîne de caractères qui se trouve entre deux caractères
“retour à la ligne”. Le paramètre dim sert à indiquer un nombre maximal de caractères à mettre dans s –
donc toute ligne de plus de dim caractères ne sera pas lue en entier.

Exercice 3: Écrire un programme C qui copie le contenu d’un fichier en ordre inverse dans un
deuxième fichier.

Exercice 4: Écrire un progamme dans lequel on ouvre le même fichier dans les différentes modes
d’ouverture vus en cours. (Attention à bien fermer le fichier avant de l’ouvrir à nouveau dans un mode
différent !)
Essayer de lire et d’écrire 4 octets dans le fichier (en utilisant les fonctions fread/fwrite, voir
cours !) et constater le fonctionnement du programme :
1. Quand peut-on lire et quand on ne peut pas ?
2. Lorsqu’on ne peut pas lire, quel type d’erreur constate-t-on ? (par exemple, code de retour de fread
ou fwrite, ou carrément erreur d’exécution du programme).
3. Quand l’écriture se fait en fin de fichier et quand en début ?

Exercice 5: Écrire un programme C qui numérote chaque ligne d’un fichier dont le nom est saisi au
clavier.

Vous aimerez peut-être aussi