gpt4 book ai didi

c - stat st_mode 始终等于 16877

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:33 24 4
gpt4 key购买 nike

我想知道一个文件是一个目录还是一个普通文件 stat :

#define _DEFAULT_SOURCE

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int is_regular_file(const char *path)
{
struct stat path_stat;
stat(path, &path_stat);
return S_ISREG(path_stat.st_mode);
}

我在 Mac 和 Linux 上尝试,当我打印 S_ISREG(path_stat.st_mode) 总是等于 1 并且 path_stat.st_mode 总是等于 16877 时。

最佳答案

16877是八进制的40755,表示一个目录(八进制40000),权限755(用户有完整的权利,其他人都有阅读和遍历的权利)。正如建议的那样,statchmod 手册页很有用。

举个例子,这是我的 directory-editor 的截图显示八进制模式(一个选项)而不是通常的符号模式:

ded showing octal permissions

关于c - stat st_mode 始终等于 16877,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46746333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com