• Aucun résultat trouvé

2. Un chemin absolu vers un fichier est-il unique ?

N/A
N/A
Protected

Academic year: 2022

Partager "2. Un chemin absolu vers un fichier est-il unique ?"

Copied!
1
0
0

Texte intégral

(1)

Architecture & Syst` eme Travaux dirig´ es n

o

5 : Le syst` eme de fichiers

Exercice n o 1 : chemins absolus et relatifs

1. Rappeler les notions de chemin absolu et chemin relatif d’un fichier. Comment re- connaˆıtre qu’un chemin est absolu ou relatif ?

2. Un chemin absolu vers un fichier est-il unique ?

3. Pour chaque fichier et chaque r´ epertoire il existe toujours plusieurs chemins relatifs

`

a ce fichier ` a partir du mˆ eme r´ epertoire courant. Vrai ou faux ? Donner un exemple d’arborescence et de chemin(s) qui justifie votre r´ eponse.

4. Supposons que le r´ epertoire courant est la racine. Pour chaque fichier son chemin relatif est donc donn´ e par rapport ` a la racine. Ainsi, dans ce cas particulier, le chemin relatif est identique au chemin absolu. Vrai ou faux ? Donner un exemple pour justifier la r´ eponse.

Exercice n o 2 : Lecture/´ ecriture dans un fichier

Vous pourrez utiliser int fscanf(FILE *fichier, char *format, ...) avec le format

%as, qui r´ ecup` ere une chaˆıne de caract` eres jusqu’` a un espace ou un saut de ligne, et avec l’option a qui alloue la m´ emoire n´ ecessaire pour stocker la chaˆıne trouv´ ee. La valeur renvoy´ ee est le nombre de motifs trouv´ es. Si on est en fin de fichier, la valeur retourn´ ee est 0.

1. ´ Ecrire une fonction char *prochain-mot(FILE *f) qui renvoie la chaˆıne de ca- ract` eres contenue entre la position courante dans f et le premier espace ou saut de ligne. Renvoyez NULL ` a la fin du fichier.

2. ´ Ecrire une fonction void decoupe-et-reconstruit(FILE *f1, FILE *f2) qui lit le fichier texte de f1 et l’´ ecrit dans f2 en mettant un mot par ligne.

3. ´ Ecrire une fonction void decoupe-et-affiche(FILE *f1) qui lit le fichier texte de f1 et l’´ ecrit sur la sortie standard en mettant un mot par ligne.

4. ´ Ecrire une fonction int main(int argc, char *argv[]) qui appelle la fonction decoupe-et-reconstruit sur deux fichiers dont les noms sont pass´ es en argument au programme.

Exercice n o 3 : D´ eplacement dans un fichier

1. ´ Ecrire une fonction void moities(FILE *f1, FILE *f2, FILE *f3) qui ´ ecrit la premi` ere moiti´ e de f1 dans f2 et la seconde moiti´ e de f1 dans f3.

2. ´ Ecrire une fonction int main(int argc, char *argv[]) qui appelle la fonction moities sur trois fichiers dont les noms sont pass´ es en argument au programme.

3. ´ Ecrire une fonction void renverse(FILE *f1, FILE *f2) qui lit le texte contenu dans f1 et l’´ ecrit ` a l’envers caract` ere par caract` ere sur f2.

1

Références

Documents relatifs

(2) ´ Ecrire une fonction traitement qui prend pour arguments une image et une fonction puis applique cette fonction sur la valeur de chacun des pixels de l’image.. (3) Red´

Dans un premier temps, on r´ epondra aux questions ` a l’´ ecrit puis pour v´ erifier que nos algorithmes sont bien ´ ecrits, on les programmera sur machine.. Exercice

[r]

GtkWidget* gtk_label_new(const gchar* str); crée un objet GtkLabel de libellé str void gtk_label_set_label(GtkLabel* label, const gchar* str); affecte le libellé str au label

- un texte rouge de taille 20pt centré en titre - une image centrée. a) Ecrire un programme PHP qui, à la soumission du formulaire, affiche une page avec une image de

Cours de math´ ematiques Int´ egration. Th´ eor`

Si une fonction paire admet un d´eveloppement limit´e d’ordre n en 0 alors les coefficients des termes de degr´e impair sont nuls, si une fonction impaire admet un

a f, tel que f est continue sur chacun des intervalles ouverts de cette subdivision et admet des limites finies en leurs extremit´es.. L’ensemble des fonctions continues par