1.23 lseek函数[通俗易懂]

1.23 lseek函数[通俗易懂]参考:牛客网C++高薪求职项目《Linux高并发服务器开发》1.22read、write函数专属优惠链接:https://www.nowcoder.com/courses/cover/live/504?coupon=AvTPnSG

大家好,又见面了,我是你们的朋友全栈君。

 

1.23 lseek函数[通俗易懂]

//标准C库函数
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);


//linux系统函数
#include <sys/types.h>
#include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);

    参数:
        -fd:文件描述符
        -offset:偏移量
        -whence:
            SEEK_SET
                设置文件指针的偏移量,为文件起始地址
            SEEK_CUR
                设置文件指针的偏移量,为当前位置+第2个参数offset的值
            SEEK_END
                设置文件指针的偏移量,为文件大小+第2个参数offset的值
    返回值:返回文件指针的位置

作用:
    1.移动文件指针到文件头:               lseek(fd, 0, SEEK_SET);
    2.获取当前文件指针的位置:             lseek(fd, 0, SEEK_CUR);
    3.获取文件长度:                      lseek(fd, 0, SEEK_END);
    4.拓展文件的长度,如增加100字节:       lseek(fd, 100, SEEK_END);
     注意:拓展文件后需要写一次数据

例子:

//perror
#include <stdio.h>
//open
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

//lseek/write
#include <unistd.h>

int main()
{
    int fd=open("hello.txt", O_RDWR);
    if(fd==-1)
    {
        perror("open");
        return -1;
    }

    int ret=lseek(fd,100,SEEK_END);
    if(ret==-1)
    {
        perror("lseek");
        return -1;
    }
    //写入一个空格
    write(fd," ",1);

    close(fd);
    return 0;

}

1.23 lseek函数[通俗易懂]


参考:牛客网 C++高薪求职项目《Linux高并发服务器开发》1.23 lseek函数

专属优惠链接:

https://www.nowcoder.com/courses/cover/live/504?coupon=AvTPnSG

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149455.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ajax长轮询 spring mvc,springmvc ajax 长轮询

    ajax长轮询 spring mvc,springmvc ajax 长轮询前台代码:$(function(){functionpoll(){varparam={“searchType”:”1″,”key”:”0100008″,”timestamp”:”1409382910″,”sign”:”123″};$.ajax({type:”POST”,contentType:”application/json;charset=utf-8″,url:”xxxx”,da…

    2022年10月10日
    3
  • sql语言总结合集

    sql语言总结合集

    2021年10月2日
    44
  • mini pcie有什么用_ipad mini适合做笔记吗

    mini pcie有什么用_ipad mini适合做笔记吗网上的相关资料链接:https://baijiahao.baidu.com/s?id=1598588903382575978&wfr=spider&for=pc(关于MiniPCIe二三事)minipcie的接口外观与mSATA接口外观一致,一样可以插入设备,但一般是不能通用,两者插槽上的阵脚信号定义不同,都是54Pin。mSATA接口是用来连接迷你版本的SATA…

    2025年10月8日
    2
  • goland2022.01.4激活码_最新在线免费激活

    (goland2022.01.4激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html747EFQ8BIF-eyJsaWNlbnNlSW…

    2022年3月31日
    59
  • datagrid 激活码【2021.10最新】

    (datagrid 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html92U4ILM59M-eyJsaWNlbnNlSWQi…

    2022年3月29日
    491
  • 大疆网上测评题库_大疆科技题目

    大疆网上测评题库_大疆科技题目Const:1、定义常量(1)const修饰变量,以下两种定义形式在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。TYPEconstValueName=value;constTYPEValueName=value;(2)将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进…

    2022年6月16日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号