Exibir o Diretório Atual Usando Arquivos

C++Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como escrever um programa C++ para exibir o diretório ou pasta atual usando arquivos. Você implementará dois métodos diferentes para exibir a lista de arquivos e pastas no diretório atual.

Criar um Arquivo C++

Crie um arquivo C++ chamado main.cpp no diretório ~/project. Você pode usar qualquer editor de código ou IDE para criar o arquivo.

touch ~/project/main.cpp

Incluir as Bibliotecas Necessárias

Nesta etapa, você precisa incluir as bibliotecas necessárias para o programa. Essas bibliotecas são necessárias para manipular arquivos e diretórios em C++. Use o seguinte código para incluir as bibliotecas:

#include<iostream>
#include<dirent.h> // Arquivo de cabeçalho para operações de diretório
using namespace std;

Implementar o Primeiro Método

Nesta etapa, implementaremos o primeiro método para exibir a lista de arquivos e pastas no diretório atual. Use o seguinte código para exibir a lista usando um loop for:

int main()
{
    struct dirent *d; // Ponteiro para a entrada do diretório
    DIR *dr; // Ponteiro para o diretório
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Imprime o nome do arquivo ou pasta
        }
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

Implementar o Segundo Método

Nesta etapa, implementaremos o segundo método para exibir a lista de arquivos e pastas no diretório atual. Use o seguinte código para exibir a lista usando um loop while:

int main()
{
    struct dirent *d; // Ponteiro para a entrada do diretório
    DIR *dr; // Ponteiro para o diretório
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Imprime o nome do arquivo ou pasta
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

Compilar e Executar o Programa

Nesta etapa, você precisa compilar e executar o arquivo main.cpp. Use o seguinte comando para compilar e executar o programa:

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

Código Completo de main.cpp

#include<iostream>
#include<dirent.h> // Arquivo de cabeçalho para operações de diretório
using namespace std;

// Método 1
int main()
{
    struct dirent *d; // Ponteiro para a entrada do diretório
    DIR *dr; // Ponteiro para o diretório
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Imprime o nome do arquivo ou pasta
        }
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;

    // Método 2
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"List of Files & Folders:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Imprime o nome do arquivo ou pasta
        closedir(dr);
    }
    else
        cout<<"\nError Occurred!";
    cout<<endl;
    return 0;
}

Resumo

Neste laboratório, você aprendeu como escrever um programa C++ para exibir o diretório ou pasta atual usando arquivos. Você implementou dois métodos diferentes para exibir a lista de arquivos e pastas no diretório atual. Você também aprendeu como compilar e executar um programa C++ no terminal Ubuntu.