hmj*_*mjd 75
您可以使用opendir()并检查是否ENOENT == errno失败:
#include <dirent.h>
#include <errno.h>
DIR* dir = opendir("mydir");
if (dir) {
/* Directory exists. */
closedir(dir);
} else if (ENOENT == errno) {
/* Directory does not exist. */
} else {
/* opendir() failed for some other reason. */
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*man 35
使用以下代码检查文件夹是否存在.它适用于Windows和Linux平台.
#include <stdio.h>
#include <sys/stat.h>
int main(int argc, char* argv[])
{
const char* folder;
//folder = "C:\\Users\\SaMaN\\Desktop\\Ppln";
folder = "/tmp";
struct stat sb;
if (stat(folder, &sb) == 0 && S_ISDIR(sb.st_mode)) {
printf("YES\n");
} else {
printf("NO\n");
}
}
Run Code Online (Sandbox Code Playgroud)
alk*_*alk 15
您可以使用stat()并传递a的地址struct stat,然后检查其成员st_mode是否已S_IFDIR设置.
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
...
char d[] = "mydir";
struct stat s = {0};
if (!stat(d, &s))
printf("'%s' is %sa directory.\n", d, (s.st_mode & S_IFDIR) : "" ? "not ");
// (s.st_mode & S_IFDIR) can be replaced with S_ISDIR(s.st_mode)
else
perror("stat()");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98521 次 |
| 最近记录: |