|
这里得到的权限是以八进制数表示的,有兴趣的兄弟可以把它改成rwxrwxrwx的形式。
- /* 用于检查文件权限的程序 */
- #include<unistd.h> /* 必须最早出现,它根据POSIX定义的标志会影响其他的头文件 */
- #include<stdio.h>
- #include<fcntl.h>
- #include<sys/stat.h>
- #include<sys/types.h>
- #include<stdlib.h>
- int main(int argc, char *argv[])
- {
- int fd; /* 文件描述符 */
- struct stat statbuf; /* 文件状态信息 */
- mode_t modes; /* 文件权限与文件类型信息 */
-
- /* 如果参数不对,退出 */
- if(argc != 2) {
- printf("usage: ./a.out filename\n");
- exit(1);
- }
-
-
- /* 获得文件权限与文件类型信息 */
- stat(argv[1], &statbuf);
- modes = statbuf.st_mode;
-
- /* 得到st_mode的文件权限部分(以八进制表示) */
- printf("file mode %o\n", modes & 0x01ff);
-
- exit(0);
- }
-
复制代码 |
|