本文主要介绍C语言lseek()函数的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。
头文件:
#包含sys/types.h
#包括unistd.h
功能原型:
off_t lseek(int fd,off_t offset,int where);//打开文件下一次读写的开始位置。
参数:
Fd表示要操作的文件描述符。
Offset是从开始的偏移量。
Whence可以是SEEK_SET(文件指针的开始),SEEK_CUR(文件指针的当前位置),SEEK_END是文件指针的结束。
返回值:
文件读写指针从文件开始的字节大小,错误,返回-1
lsee的作用是打开文件下一次读写的起始位置,所以它有以下两个作用。
1.展开文件,但一定要写一次。等迅雷下载工具扩展一个空间再下载文件。
2.获取文件大小。
lseek()函数重新定位已打开文件的位移,这由参数offset和when的组合决定:
SEEK_SET:从文件头偏移字节。
SEEK_CUR:从文件当前被读写的指针位置增加偏移量字节。
SEEK_END:文件偏移量设置为文件大小加上偏移量字节。
获取文件大小
# includestdio.h
#includestdlib.h
#包含系统/类型. h
#includeunistd.h
#包含系统/统计信息
#包含fcntl.h
void main()
{
int fd=open('test.txt ',O _ RDWR);
中频(fd0)
{
perror(' open test . txt ');
退出(-1);
}
printf('文件大小:%d \n ',lseek(fd,0,SEEK _ END));
关闭(FD);
}
要扩展文件,必须有写操作。
# includestdio.h
#includestdlib.h
#包含系统/类型. h
#includeunistd.h
#包含系统/统计信息
#包含fcntl.h
int main(void)
{
int fd=open('test.txt ',O _ RDWR);
中频(fd0)
{
perror(' open test . txt ');
退出(-1);
}
lseek(fd,0x1000,SEEK _ SET);
write(fd,' a ',1);
关闭(FD);
返回0;
}
本文关于C语言lseek()函数的详细解释到此为止。关于C语言lseek()内容的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。