繁体   English   中英

如何读取文件权限并将其存储在C中的变量中

[英]How to read a file permission and store it in a variable in C

在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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM