Programme pour trouver la taille de n'importe quel 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 apprendre à trouver la taille de n'importe quel fichier en utilisant le langage de programmation C. Nous utiliserons les fonctions fseek() et ftell() pour trouver la taille du fichier.

Note: Vous devez créer le fichier ~/project/main.c vous-même pour pratiquer la programmation et apprendre à le compiler et à l'exécuter en utilisant gcc.

cd ~/project
## créer main.c
touch main.c
## compiler main.c
gcc main.c -o main
## exécuter main
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/if_else("If...Else") c/PointersandMemoryGroup -.-> c/pointers("Pointers") c/PointersandMemoryGroup -.-> c/memory_address("Memory Address") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") 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-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/if_else -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/pointers -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/memory_address -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/function_declaration -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/write_to_files -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/create_files -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/read_files -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} c/output -.-> lab-123313{{"Programme pour trouver la taille de n'importe quel fichier"}} end

Inclure les fichiers d'en-tête

Nous commencerons par inclure les fichiers d'en-tête requis stdio.h et stdlib.h.

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

Créer la fonction main()

Ensuite, nous allons créer la fonction main(), qui est le point d'entrée de notre programme C.

int main()
{
    return 0;
}

Définir des variables

Maintenant, nous allons définir les variables requises. Nous avons besoin d'un pointeur FILE pour stocker le fichier. Nous avons également besoin d'une variable char pour stocker le caractère actuel lors de la lecture du fichier. Enfin, nous avons besoin d'un entier size pour stocker la taille du fichier.

FILE *fp;
char ch;
int size = 0;

Ouvrir le fichier

Maintenant, nous allons ouvrir le fichier à l'aide de la fonction fopen() et vérifier si le fichier est ouvert avec succès ou non.

fp = fopen("MyFile.txt", "r");

if (fp == NULL)
{
    printf("\nLe fichier n'a pas pu être ouvert...\n");
    return 1;
}
else
{
    printf("\nLe fichier a été ouvert...\n");
}

Déplacer le pointeur de fichier

Nous allons maintenant déplacer le pointeur de fichier à la fin du fichier à l'aide de la fonction fseek().

fseek(fp, 0, 2);

Obtenir la taille du fichier

Ensuite, nous allons obtenir la position actuelle du pointeur de fichier à l'aide de la fonction ftell() et la stocker dans la variable size.

size = ftell(fp);

Afficher la taille du fichier

Enfin, nous allons afficher la taille du fichier à l'aide de la fonction printf().

printf("La taille du fichier donné est : %d octets\n", size);

Fermer le fichier

Nous avons fini avec le fichier maintenant, donc nous allons le fermer à l'aide de la fonction fclose().

fclose(fp);

Code source complet du programme

Voici le code complet du programme C pour trouver la taille de n'importe quel fichier.

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

int main()
{
    FILE *fp;
    char ch;
    int size = 0;

    fp = fopen("MyFile.txt", "r");

    if (fp == NULL)
    {
        printf("\nImpossible d'ouvrir le fichier...\n");
        return 1;
    }
    else
    {
        printf("\nLe fichier a été ouvert...\n");
    }

    fseek(fp, 0, 2);
    size = ftell(fp);

    printf("La taille du fichier donné est : %d octets\n", size);

    fclose(fp);

    return 0;
}

Récapitulatif

Dans ce laboratoire, nous avons appris à trouver la taille de n'importe quel fichier en utilisant le langage de programmation C et les fonctions fseek() et ftell(). Nous avons abordé les sujets suivants :

  • Inclusion des fichiers d'en-tête
  • Création de la fonction main()
  • Définition de variables
  • Ouverture du fichier
  • Décalage du pointeur de fichier
  • Obtention de la taille du fichier
  • Affichage de la taille du fichier
  • Fermeture du fichier

Il est une bonne pratique de toujours fermer le fichier après l'avoir lu ou écrit.