【发布时间】:2020-12-23 14:59:31
【问题描述】:
我可以使用stat() 系统调用检查文件的权限位,它返回一个结构,其中包含一个字段,该字段又包含文件类型和模式。除了open 和read 系统调用之外,有没有办法做同样的事情? IE。通过分析每一位?例如下面的代码读取一个文件(前四个字节)并确定它是否是一个 ELF 文件..
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
int fd = open("main", O_RDONLY);
char *buf = malloc(sizeof (char) * 4);
read (fd, buf, 4);
if (strcmp(buf, "ELF"))
printf("It is an ELF file.\n");
free(buf);
return 0;
}
有没有类似的读取文件的方法来逐位提取信息?
【问题讨论】:
标签: c permissions system-calls