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

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

Введение

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

Создайте файл на 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.