如何判斷copendir是否到達(dá)末尾

如何判斷copendir是否到達(dá)末尾

c語(yǔ)言中,opendir() 函數(shù)打開(kāi)目錄后,使用 readdir() 函數(shù)讀取目錄項(xiàng)。readdir() 返回 NULL 即表示已到達(dá)目錄末尾。

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

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

代碼首先使用 opendir() 打開(kāi)當(dāng)前目錄 (.)。然后,while 循環(huán)不斷調(diào)用 readdir() 讀取目錄項(xiàng),直到 readdir() 返回 NULL,表示遍歷結(jié)束。最后,closedir() 關(guān)閉目錄,并打印提示信息確認(rèn)遍歷完成。 錯(cuò)誤處理也包含在內(nèi),確保程序在 opendir() 失敗時(shí)能正確處理。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員