Kiểm tra thư mục x cần tìm có tồn tại trong hệ thống hay không

Cho mình hỏi trong linux làm thế để “Kiểm tra thư mục x cần tìm có tồn tại trong hệ thống hay không?” Mình cảm ơn! :))

#include <dirent.h>

typedef _Bool bool;

bool path_exists(const char *path)
{
  assert(path);
  DIR *d = opendir(path);
  
  if (d)
  {
    closedir(d);
    return 1;
  }
  
  return (errno != ENOENT) && (errno != ENOTDIR);
}

bool b = path_exists("/path/to/directory");
...

Mở directory bằng diropen() (giống fopen(), nhưng cho directory). Nếu fail, check errno (trong <errno.h>), nếu errno != ENOENT thì path không tồn tại (vì diropen() có thể fail với nhiều lý do)

Edit: bug huhu

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?