Отображение текущей директории с использованием файла

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь писать программу на C++, которая будет выводить текущую директорию или папку с использованием файлов. Вы реализуете два различных метода для отображения списка файлов и папок в текущей директории.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/conditions -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/for_loop -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/while_loop -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/output -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/files -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/standard_containers -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} cpp/code_formatting -.-> lab-96185{{"Отображение текущей директории с использованием файла"}} end

Создайте файл на C++

Создайте файл на C++ с именем main.cpp в директории ~/project. Вы можете использовать любой текстовый редактор или IDE для создания файла.

touch ~/project/main.cpp

Подключите необходимые библиотеки

В этом шаге вам необходимо подключить необходимые библиотеки для программы. Эти библиотеки необходимы для манипуляций с файлами и директориями на C++. Используйте следующий код для подключения библиотек:

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

Реализуйте первый метод

В этом шаге мы реализуем первый метод для отображения списка файлов и папок в текущей директории. Используйте следующий код для отображения списка с использованием цикла for:

int main()
{
    struct dirent *d; // Указатель на запись о директории
    DIR *dr; // Указатель на директорию
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Список файлов и папок:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Выведите имя файла или папки
        }
        closedir(dr);
    }
    else
        cout<<"\nПроизошла ошибка!";
    cout<<endl;
    return 0;
}

Реализуйте второй метод

В этом шаге мы реализуем второй метод для отображения списка файлов и папок в текущей директории. Используйте следующий код для отображения списка с использованием цикла while:

int main()
{
    struct dirent *d; // Указатель на запись о директории
    DIR *dr; // Указатель на директорию
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Список файлов и папок:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Выведите имя файла или папки
        closedir(dr);
    }
    else
        cout<<"\nПроизошла ошибка!";
    cout<<endl;
    return 0;
}

Скомпилируйте и запустите программу

В этом шаге вам необходимо скомпилировать и запустить файл main.cpp. Используйте следующую команду для компиляции и запуска программы:

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

Полный код main.cpp

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

// Метод 1
int main()
{
    struct dirent *d; // Указатель на запись о директории
    DIR *dr; // Указатель на директорию
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Список файлов и папок:\n";
        for(d=readdir(dr); d!=NULL; d=readdir(dr))
        {
            cout<<d->d_name<<endl; // Выведите имя файла или папки
        }
        closedir(dr);
    }
    else
        cout<<"\nПроизошла ошибка!";
    cout<<endl;

    // Метод 2
    dr = opendir(".");
    if(dr!=NULL)
    {
        cout<<"Список файлов и папок:\n";
        while((d=readdir(dr))!=NULL)
            cout<<d->d_name<<endl; // Выведите имя файла или папки
        closedir(dr);
    }
    else
        cout<<"\nПроизошла ошибка!";
    cout<<endl;
    return 0;
}

Резюме

В этом практическом занятии вы узнали, как написать программу на C++, которая отображает текущую директорию или папку с использованием файлов. Вы реализовали два различных метода для отображения списка файлов и папок в текущей директории. Также вы узнали, как компилировать и запускать программу на C++ в терминале Ubuntu.