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! :))
Kiểm tra thư mục x cần tìm có tồn tại trong hệ thống hay không
#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