c++ opendir函數(shù)如何配合readdir使用

c++
小樊
81
2024-09-13 04:00:26

在C++中,opendirreaddir函數(shù)用于讀取目錄中的文件和子目錄

#include<iostream>
#include<string>
#include <dirent.h> // 包含 dirent.h 頭文件

int main() {
    // 要打開的目錄
    std::string dir_name = "/path/to/your/directory";

    // 使用 opendir 函數(shù)打開目錄
    DIR *dir = opendir(dir_name.c_str());
    if (dir == nullptr) {
        std::cerr << "Error: Cannot open directory"<< std::endl;
        return 1;
    }

    // 使用 readdir 函數(shù)讀取目錄中的每個(gè)條目
    struct dirent *entry;
    while ((entry = readdir(dir)) != nullptr) {
        // 輸出文件或子目錄名稱
        std::cout<< entry->d_name<< std::endl;
    }

    // 關(guān)閉目錄
    closedir(dir);

    return 0;
}

這個(gè)示例程序首先使用opendir函數(shù)打開指定的目錄。然后,它使用readdir函數(shù)循環(huán)讀取目錄中的每個(gè)條目,并輸出文件或子目錄的名稱。最后,記得使用closedir函數(shù)關(guān)閉已打開的目錄。

0