C 如何从文件类型中读取特定的字节选择?

C 如何从文件类型中读取特定的字节选择?,c,file,file-io,C,File,File Io,我需要从我正在处理的项目的文件类型中读取一组特定的字节 例如,假设我们有一个名为“image”的打开文件: 假设我需要读取这个文件的一个特定部分,从开始的偏移量开始,比如说,从1024字节开始,到2048字节结束 我知道我们读过() 这将读入“示例”,前1024个字节 我知道fseek是存在的,它会设置一个指针,从我想开始读入“示例”的地方开始,但前提是我有一个文件类型,对吗?我现在只有一个名字,是fd char *image; int fd; 我可以在fseek中使用文件名或

我需要从我正在处理的项目的文件类型中读取一组特定的字节

例如,假设我们有一个名为“image”的打开文件:

假设我需要读取这个文件的一个特定部分,从开始的偏移量开始,比如说,从1024字节开始,到2048字节结束

我知道我们读过()

这将读入“示例”,前1024个字节

我知道fseek是存在的,它会设置一个指针,从我想开始读入“示例”的地方开始,但前提是我有一个文件类型,对吗?我现在只有一个名字,是fd

    char *image;
    int fd;
我可以在fseek中使用文件名或fd吗?或者有更好的方法来实现这一点吗?

在Linux上,“pread()”实现了以下功能:

ssize_t pread(int fd, void *buf, size_t count, off_t offset);

它将寻找“偏移”,然后读取“buf”中的“count”字节。

lseek
是与
fseek
等效的函数,使用文件描述符而不是
文件
指针。正如Mahonri Moriancumer所指出的,您也可以使用
pread

    char *image;
    int fd;
ssize_t pread(int fd, void *buf, size_t count, off_t offset);