Programme de copie de fichier

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons créer un programme C pour copier le contenu d'un fichier dans un autre fichier. Nous allons lire le fichier source et écrire le contenu dans le fichier de destination.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/while_loop("While Loop") c/FileHandlingGroup -.-> c/write_to_files("Write To Files") c/FileHandlingGroup -.-> c/create_files("Create Files") c/FileHandlingGroup -.-> c/read_files("Read Files") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123311{{"Programme de copie de fichier"}} c/if_else -.-> lab-123311{{"Programme de copie de fichier"}} c/while_loop -.-> lab-123311{{"Programme de copie de fichier"}} c/write_to_files -.-> lab-123311{{"Programme de copie de fichier"}} c/create_files -.-> lab-123311{{"Programme de copie de fichier"}} c/read_files -.-> lab-123311{{"Programme de copie de fichier"}} c/output -.-> lab-123311{{"Programme de copie de fichier"}} end

Structure de fichier

Créez un nouveau fichier C nommé main.c. Ce fichier contiendra la logique du programme.

Inclure les bibliothèques nécessaires

Nous devons inclure la bibliothèque stdio.h dans notre programme pour travailler avec les fichiers.

#include <stdio.h>

Déclarer des pointeurs de fichier

Nous devons déclarer deux pointeurs de fichier, l'un pour le fichier source et l'autre pour le fichier de destination.

FILE *fp1, *fp2;

Ouvrir le fichier source

Nous devons ouvrir le fichier source en lecture. Si le fichier ne peut pas être ouvert, nous allons afficher un message d'erreur et quitter le programme.

if ((fp1 = fopen("source.txt", "r")) == NULL) {
    printf("\nLe fichier ne peut pas être ouvert.");
    return;
}

Ouvrir le fichier de destination

Nous devons créer et ouvrir le fichier de destination en écriture.

fp2 = fopen("destination.txt", "w");

Copier le contenu du fichier

Nous allons lire le fichier source caractère par caractère et écrire dans le fichier de destination jusqu'à la fin du fichier.

char ch;
while ((ch = fgetc(fp1))!= EOF) {
    fputc(ch, fp2);
}

Fermer les fichiers

Après avoir copié le contenu, nous devons fermer les deux fichiers.

fclose(fp1);
fclose(fp2);

Récapitulatif

Dans ce laboratoire, nous avons appris à lire le contenu d'un fichier et à l'écrire dans un autre fichier. Nous avons utilisé la fonction fopen() pour ouvrir les fichiers et les fonctions fgetc() et fputc() pour lire et écrire le contenu du fichier. Il est essentiel de fermer les fichiers après avoir terminé la tâche en utilisant la fonction fclose().