如何判斷copendir是否到達末尾

如何判斷copendir是否到達末尾

c語言中,opendir() 函數打開目錄后,使用 readdir() 函數讀取目錄項。readdir() 返回 NULL 即表示已到達目錄末尾。

以下示例演示如何檢測 opendir() 是否遍歷完成:

#include <stdio.h> #include <stdlib.h> #include <dirent.h>  int main() {     DIR *dir;     struct dirent *entry;      // 打開當前目錄     dir = opendir(".");     if (dir == NULL) {         perror("opendir");         return EXIT_FAILURE;     }      // 循環讀取目錄項,直到到達末尾     while ((entry = readdir(dir)) != NULL) {         printf("目錄項: %sn", entry->d_name);     }      // 關閉目錄     closedir(dir);      printf("目錄遍歷完成n"); // 添加提示信息,明確遍歷結束     return EXIT_SUCCESS; }

代碼首先使用 opendir() 打開當前目錄 (.)。然后,while 循環不斷調用 readdir() 讀取目錄項,直到 readdir() 返回 NULL,表示遍歷結束。最后,closedir() 關閉目錄,并打印提示信息確認遍歷完成。 錯誤處理也包含在內,確保程序在 opendir() 失敗時能正確處理。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享