在Linux平台(Ubuntu系统)中。
如标题所述。
我试图得到一个类似“0644”的数字,并将其存储在一个变量中以备以后使用。
最佳答案
stat, fstat, lstat系统调用可用于检索文件的权限。
stat结构的字段st_mode
包含指定为系统调用参数的文件的权限。然后mode_t
类型的变量可以用作应用程序中的本地存储。
这是一个例子:
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define FILE_NAME "test.c"
int main(int argc, char *argv[])
{
struct stat sb;
mode_t file_permision;
if (stat(FILE_NAME, &sb) == -1) {
perror("stat");
exit(EXIT_FAILURE);
}
file_permision = sb.st_mode;
printf(" File permission : %o (octal)\n",
(unsigned int) file_permision);
return 0;
}
关于c - 如何读取文件权限并将其存储在C中的变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18419829/