Créer et écrire dans des fichiers C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous allez apprendre à créer un nouveau fichier en langage C et à y écrire des données. Le type de données FILE est utilisé pour représenter un fichier en C, et la fonction fopen() est utilisée pour ouvrir un fichier en lecture, écriture ou ajout. Une fois un fichier ouvert, des données peuvent être écrites dans celui-ci à l'aide de la fonction fprintf(), et la fonction fclose() est utilisée pour fermer le fichier après avoir écrit des données.

Créer un nouveau programme C à l'aide du terminal

Ouvrez le terminal et créez un nouveau programme C appelé main.c dans le répertoire ~/project/ à l'aide de la commande :

nano ~/project/main.c

Inclure les fichiers d'en-tête nécessaires

Dans le fichier main.c, incluez les fichiers d'en-tête nécessaires :

#include <stdio.h>
#include <stdlib.h>

Définir des variables et des pointeurs

Définissez des variables et un pointeur de type FILE pour stocker le fichier et son contenu :

FILE *fptr;
char name[20];
int age;
float salary;

Ouvrir un fichier en écriture

Ouvrez un fichier en écriture à l'aide de la fonction fopen(). Si le fichier n'existe pas, il sera créé. Sinon, son contenu sera remplacé :

fptr = fopen("emp.txt", "w");
if (fptr == NULL)
{
    printf("File does not exist.\n");
    return 1;
}

Écrire des données dans le fichier

Demandez à l'utilisateur d'entrer le nom, l'âge et le salaire de l'employé, puis écrivez-les dans le fichier à l'aide de la fonction fprintf() :

printf("Enter the name:\n");
scanf("%s", name);
fprintf(fptr, "Name  = %s\n", name);

printf("Enter the age:\n");
scanf("%d", &age);
fprintf(fptr, "Age  = %d\n", age);

printf("Enter the salary:\n");
scanf("%f", &salary);
fprintf(fptr, "Salary  = %.2f\n", salary);

Fermer le fichier

Fermez le fichier à l'aide de la fonction fclose() :

fclose(fptr);

Terminer le code

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fptr;
    char name[20];
    int age;
    float salary;

    // ouvrir en écriture
    fptr = fopen("emp.txt", "w");
    if (fptr == NULL) {
        printf("Le fichier n'existe pas.\n");
        return 1;
    }

    printf("Entrez le nom :\n");
    scanf("%s", name);
    fprintf(fptr, "Nom  = %s\n", name);

    printf("Entrez l'âge :\n");
    scanf("%d", &age);
    fprintf(fptr, "Âge  = %d\n", age);

    printf("Entrez le salaire :\n");
    scanf("%f", &salary);
    fprintf(fptr, "Salaire  = %.2f\n", salary);

    fclose(fptr);
    return 0;
}

Résumé

Dans ce laboratoire, vous avez appris à créer un nouveau fichier en langage C et à y écrire des données à l'aide des fonctions FILE, fopen(), fprintf() et fclose(). N'oubliez pas de toujours fermer le fichier après avoir écrit des données dans celui-ci pour éviter la perte de données.