C语言中lseek()函数和fseek()函数的使用详解
C语言lseek()函数:移动文件的读写位置 头文件: #include <sys/types.h> #include <unistd.h> 定义函数: off_t lseek(int fildes,off_t offset,int whence); 函数说明: 参数 whence 为下列其中一种:
下列是教特别的使用方式: 返回值:当调用成功时则返回目前的读写位置,也就是距离文件开头多少个字节. 若有错误则返回-1,errno 会存放错误代码. 附加说明:Linux 系统不允许lseek()对tty 装置作用,此项动作会令lseek()返回ESPIPE. C语言fseek()函数:移动文件流的读写位置 #include <stdio.h> 定义函数: int fseek(FILE * stream,long offset,int whence); 函数说明: 1、参数stream 为已打开的文件指针, 下列是较特别的使用方式: 返回值:当调用成功时则返回0,若有错误则返回-1,errno 会存放错误代码. 附加说明:fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置. 范例 #include <stdio.h> main() { FILE * stream; long offset; fpos_t pos; stream = fopen("/etc/passwd","r"); fseek(stream,5,SEEK_SET); printf("offset = %dn",ftell(stream)); rewind(stream); fgetpos(stream,&pos); printf("offset = %dn",pos); pos = 10; fsetpos(stream,ftell(stream)); fclose(stream); } 执行 offset = 5 offset = 0 offset = 10 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |