我的编译器(gcc)在声明的行上抛出警告(不是错误!)fp
:
int fd = open("filename.dat", O_RDONLY);
FILE* fp = fdopen(fd, "r"); // get a file pointer fp from the file descriptor fd
这些是警告:
main.c: In function ‘main’:
main.c:606: warning: implicit declaration of function ‘fdopen’
main.c:606: warning: initialization makes pointer from integer without a cast
我不明白这些警告,因为返回值为fopen
a FILE*
。我在这里犯了什么错误?
编辑:我包括stdio.h
(我也在 Linux 上)。