溫馨提示×

c++ opendir函數在目錄遍歷時如何處理錯誤

c++
小樊
112
2024-09-13 03:50:17
欄目: 編程語言

在C++中,使用opendir函數進行目錄遍歷時,可能會遇到一些錯誤

#include<iostream>
#include <dirent.h>
#include <cerrno>
#include <cstring>

int main() {
    const char* dir_path = "/path/to/your/directory";
    DIR* dir = opendir(dir_path);

    if (dir == nullptr) {
        std::cerr << "Error opening directory: "<< strerror(errno)<< std::endl;
        return 1;
    }

    struct dirent* entry;
    while ((entry = readdir(dir)) != nullptr) {
        // Process the directory entry
        std::cout << "File name: "<< entry->d_name<< std::endl;
    }

    closedir(dir);
    return 0;
}

在這個示例中,我們首先檢查opendir函數的返回值。如果返回值為nullptr,則表示打開目錄時出現了錯誤。此時,我們可以使用strerror函數和errno變量來獲取錯誤信息,并將其輸出到控制臺。

注意:在處理完目錄后,不要忘記使用closedir函數關閉目錄。這是一個良好的編程習慣,可以避免資源泄漏。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女