C++ 从';文件*{aka_IO_FILE*}';至';int';

C++ 从';文件*{aka_IO_FILE*}';至';int';,c++,linux,file,lseek,C++,Linux,File,Lseek,当试图编译这个小示例时 #include <iostream> #include <stdio.h> #include <unistd.h> int main(void) { FILE *foo; foo = fopen("bar.txt", "rt"); lseek(foo, 5, SEEK_CUR); // This line is getting compiler er

当试图编译这个小示例时

#include <iostream>
#include <stdio.h>
#include <unistd.h>

int main(void) {
    FILE *foo;
    foo = fopen("bar.txt", "rt");
    lseek(foo, 5, SEEK_CUR);           // This line is getting compiler error
    fclose(foo);
    return 0;
}
作为记录:我还尝试使用了
lseek(*foo,5,SEEK_CUR)
lseek(&foo,5,SEEK_CUR),但这只会让事情变得更糟。(我真的没想到这也能解决任何问题。)

关于:

简介
off_t lseek(int fildes、off_t offset、int whence)

说明
lseek()函数应设置与文件描述符fildes关联的打开文件描述的文件偏移量,如下所示:

[……]

我认为这意味着第一个参数应该是文件描述符,在本例中是foo


Q:这里怎么了?

如果要在文件中查找,请使用。我从没见过莱塞克用这种方式


更多信息:

切勿将stdio库与原始文件处理混合使用。缓冲区被卷入,东西变得杂乱无章。使用一个或另一个谢谢!这正是我想要的这个问题的答案把我弄糊涂了。
main.cpp|8|error:     invalid conversion from ‘FILE* {aka _IO_FILE*}’ to ‘int’ [-fpermissive]|
unistd.h|334|error:   initializing argument 1 of ‘__off_t lseek(int, __off_t, int)’ [-fpermissive]|