我在linux操作系统下,使用C语言编程,想要获得文件的长度
首先用open函数打开二进制文件,用lseek函数将文件指针移到文件结尾,然后用tell函数返回文件指针相对于文件头的偏移量,这样就可以获得文件的长度
但是用gcc编译时,提示找不到io.h文件,我在/usr/inlcude下寻找也是找不到,在asm/io.h下找到的io.h文件,打开一看,里面并没有tell函数的声明,请问到哪里可以找到我要的io.h文件?
在linux c 函数库参考手册中没找到tell这个函数。不知道你是从那里看到的。
你可以使用find / -name io.h来查找一下io.h文件的位置。例如我的运行结果如下:
find / -name io.h
/usr/src/kernels/2.6.9-5.EL-smp-i686/include/asm-i386/io.h
/usr/src/kernels/2.6.9-5.EL-smp-i686/include/config/ide/taskfile/io.h
/usr/src/kernels/2.6.9-5.EL-hugemem-i686/include/asm-i386/io.h
/usr/src/kernels/2.6.9-5.EL-hugemem-i686/include/config/ide/taskfile/io.h
/usr/src/kernels/2.6.9-5.EL-i686/include/asm-i386/io.h
/usr/src/kernels/2.6.9-5.EL-i686/include/config/ide/taskfile/io.h
/usr/include/sys/io.h
/usr/include/xmlsec1/xmlsec/io.h
/usr/include/asm/io.h
取位置,应该是ftell吧,在#include <stdio.h>
tell是TC下的, 那是基于DOS系统的接口.
linux下是ftell