Afficher le répertoire courant à l'aide de fichiers

C++C++Beginner
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, vous allez apprendre à écrire un programme C++ pour afficher le répertoire ou le dossier courant à l'aide de file. Vous allez implémenter deux méthodes différentes pour afficher la liste des fichiers et des dossiers dans le répertoire courant.

Créer un fichier C++

Créez un fichier C++ nommé main.cpp dans le répertoire ~/project. Vous pouvez utiliser n'importe quel éditeur de code ou IDE pour créer le fichier.

touch ~/project/main.cpp

Inclure les bibliothèques requises

Dans cette étape, vous devez inclure les bibliothèques requises pour le programme. Ces bibliothèques sont nécessaires pour manipuler les fichiers et les répertoires en C++. Utilisez le code suivant pour inclure les bibliothèques :

#include<iostream>
#include<dirent.h> // Header file for directory operations
using namespace std;

Implémenter la première méthode

Dans cette étape, nous allons implémenter la première méthode pour afficher la liste des fichiers et des dossiers dans le répertoire courant. Utilisez le code suivant pour afficher la liste à l'aide d'une boucle for :

int main()
{
    struct dirent *d; // Pointeur pour une entrée de répertoire
    DIR *dr; // Pointeur pour un répertoire
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Liste des fichiers et des dossiers :\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Affiche le nom du fichier ou du dossier
        }
        closedir(dr);
    }
    else
        cout<<"\nErreur survenue!";
    cout<<endl;
    return 0;
}

Implémenter la deuxième méthode

Dans cette étape, nous allons implémenter la deuxième méthode pour afficher la liste des fichiers et des dossiers dans le répertoire courant. Utilisez le code suivant pour afficher la liste à l'aide d'une boucle while :

int main()
{
    struct dirent *d; // Pointeur pour une entrée de répertoire
    DIR *dr; // Pointeur pour un répertoire
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Liste des fichiers et des dossiers :\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Affiche le nom du fichier ou du dossier
        closedir(dr);
    }
    else
        cout<<"\nErreur survenue!";
    cout<<endl;
    return 0;
}

Compiler et exécuter le programme

Dans cette étape, vous devez compiler et exécuter le fichier main.cpp. Utilisez la commande suivante pour compiler et exécuter le programme :

g++ main.cpp -o main &&./main

Code complet de main.cpp

#include<iostream>
#include<dirent.h> // Header file for directory operations
using namespace std;

// Méthode 1
int main()
{
    struct dirent *d; // Pointeur pour une entrée de répertoire
    DIR *dr; // Pointeur pour un répertoire
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Liste des fichiers et des dossiers :\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Affiche le nom du fichier ou du dossier
        }
        closedir(dr);
    }
    else
        cout<<"\nErreur survenue!";
    cout<<endl;

    // Méthode 2
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Liste des fichiers et des dossiers :\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Affiche le nom du fichier ou du dossier
        closedir(dr);
    }
    else
        cout<<"\nErreur survenue!";
    cout<<endl;
    return 0;
}

Récapitulatif

Dans ce laboratoire, vous avez appris à écrire un programme C++ pour afficher le répertoire ou le dossier courant à l'aide de fichiers. Vous avez implémenté deux méthodes différentes pour afficher la liste des fichiers et des dossiers dans le répertoire courant. Vous avez également appris à compiler et exécuter un programme C++ dans le terminal Ubuntu.