私のコンパイラ(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
の戻り値が であるため、これらの警告がわかりませんFILE*
。ここで私が犯している間違いは何ですか?
編集:私は含めていますstdio.h
(そして私もLinuxを使用しています)。