Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 (8 pts)
Soit le code C d’un fichier code.c :
#include<stdio.h>
#include<stdlib.h>
1. Ecrire le script Makefile qui permet de générer l’exécutable demo à partir du code
source code.c
2. Ecrire le code à ajouter au fichier code.c pour masquer les interruptions Ctr+c et
Ctr+AltGr+\.
3. Ecrire le code à ajouter au fichier code.c pour gérer le bug de division par 0.
Exercice 2 (12 pts)
1. Ecrire le code C d’un fichier code_read_save.c qui permet de :
— saisir deux entiers
— enregistrer ces deux entiers dans un fichier dont le nom est passé en paramètre
lors de l’éxecution.
→ Exemple :
Soit read_save le nom de l’éxecutable obtenu après la compilation.
Voici un scénario d’éxecution :
> ./read save data.txt
Entrer un entier: 10
Entrer un entier: 20
Les deux entiers sont enregistres dans le fichier data.txt
Signal Description
SIGINT signal utulisateur envoyé vers processus courant si l’utilisateur tape Ctr+c
SIGQUIT signal utilisateur envoyé vers processus courant si l’utilisateur tape Ctr+AltGr+\
SIGFPE signal envoyé vers le processus courant pour interdire la division par 0
Fonction Description
FILE * fid = fopen( Cette fonction permet d’ouvrir un fichier
nom_fichier,mode_access) Les paramètres sont :
- nom_fichier : nom de fichier à ouvrir
- mode_access : peut prendre certaines valeurs :
* valeur r : signifie que le fichier est ouvert pour lire son contenu
* valeur w : signifie que le fichier est ouvert pour écrire dedans
Si l’ouverture réussit, cette fonction retourne un pointeur fid vers le
tampon de fichier ouvert
fscanf(fid,format,x) Cette fonction permet de lire d’un fichier
Les paramètres sont :
- fid : pointeur de tampon de fichier ouvert.
- format : format de la varible x.
- x : adresse de la variable qui contiendra les données lues
fprinf(fid,format,x) Cette fonction permet d’écrire dans un fichier
Les paramètres sont :
- fid : pointeur de tampon de fichier ouvert.
- format : format de1 la varible x.
- x : adresse de la variable qui contiendra les données à écrire
Valeur Description
EFAULT Si on ne spécifie pas le nom de fichier
dans la fonction fopen()
ENOENT Si on essaie de lire un fichier inexistant avec
la fonction fopen()
EACCES Si on n’a pas les permissions pour lire ou
écrire dans un fichier existant avec la fonction
fopen()