我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 477|回复: 0

lseek()函数的用法 - 软件编程/OS - 电子工程师俱乐部

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-29 10:57:13 | 显示全部楼层 |阅读模式
在BT代码的缓冲管理中经常会看到这函数,功能是移动文件的读写指针,可以先在Linux的Sheel下看一下他的函数原型:

NAME
lseek - reposition read/write file offset

SYNOPSIS
#include <sys/types.h>
#include <unistd.h>

off_t lseek(int fd, off_t offset, int whence);

DESCRIPTION
The lseek() function repositions the offset of the open file associated
with the file descriptor fd to the argumentoffsetaccordingtothe
directive whence as follows:

SEEK_SET
The offset is set to offset bytes.

SEEK_CUR
The offset is set to its current location plus offset bytes.

SEEK_END

参数说明:
fd为已打开的文件描述符;
off_t_offset为偏移量,它是根据下面的whence的取值;
whence有3种取值:
SEEK_SET 将读写位置指向文件头后增加offset个位移量;
SEEK_CUR 以目前的读写位置往后增加offset个位移量;
SEEK_END 将读写位置指向文件尾后增加offset个位移量;
但是有时候,在旧的代码中可能看到不是SEEK_XXX这样的参数,这是由于新旧值的原因,下面是他们的对应关系:
旧值     新值
0      SEEK_SET
1      SEEK_CUR
2      SEEK_END
L_SET     SEEK_SET
L_INCR    SEEK_CUR
L_XTND    SEEK_END

作者:阿吴网志 2009-11-23
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表