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