[英]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.