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

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149456.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • oracle的nvl函数的使用解析「建议收藏」

    oracle的nvl函数的使用解析「建议收藏」Oracle的Nvl函数 nvl()函数从两个表达式返回一个非null值。 语法NVL(eExpression1,eExpression2) 参数eExpression1,eExpression2 如果eExpression1的计算结果为null值,则NVL()返回eExpression2。如果eExpression1的计

  • Selenium中implicitly_wait等待失效

    Selenium中implicitly_wait等待失效

  • 三种数据库sql分页查询

    三种数据库sql分页查询关于sql分页今天用到分页了顺便就总结了一下mysql数据库:mysql中有分页的关键字limit,它可以实现分页很简单;SELECT*FROMsys_userORDERBYuseridLIMITstartNo,total;startNo是查询开始的行数,total是要查询出多少条;sqlserver2005数据库:sqlser

  • div css仿京东订单流程图样式代码

    效果展示 http://hovertree.com/texiao/css/25/本效果适合PC,也适合移动端手机扫描二维码查看效果:效果图:代码如下:转自:http://hovertre

    2021年12月26日
  • 什么是友元类[通俗易懂]

    什么是友元类[通俗易懂]======================什么是友元类=======================     当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。=======================友元类能做什么=======================     友元类可以通过自己的方法来

  • vue文件夹上传_vue上传文件前端完整实例

    vue文件夹上传_vue上传文件前端完整实例在项目中我们使用input标签设置type属性为file,上传文件后需要清空选中的文件,<inputtype=”file”ref=”clearFile”name=”file”id=”file”><button@click=”clearFile”></button><script>methods:{clearFile(){ this.$refs.clearFile.value=”;//清空file文件}}&

发表回复

您的电子邮箱地址不会被公开。

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