标准IO的fseek函数,ftell函数与Linux文件IO的lseek函数

本文详细介绍了标准IO库中的fseek和ftell函数,用于移动文件指针和获取文件位置。同时,讨论了Linux文件IO中的lseek函数,该函数结合了fseek和ftell的功能。通过实例展示了如何使用这些函数来求出文件的大小,并总结了标准IO与Linux文件IO的主要区别:标准IO有缓存,而Linux文件IO直接操作文件描述符。
摘要由CSDN通过智能技术生成

一、标准IO的fseek函数与ftell函数

1、fseek(); 

(1)功能:

    移动文件指针的位置 
    
(2)头文件及函数原型 

     #include <stdio.h>

     int fseek(FILE *stream, long offset, int whence);(可以通过man fseek进行查看)
     
(3)参数说明:

    FILE *stream   //fopen的返回值 
    
    long offset       //偏移量 
    
    int whence      //基准值,相对位置 
    
    
    //偏移量:正数-->向后移动  负数-->向前移动
    
    fseek(fp,100,SEEK_SET); //相对文件起始位置向后移动100个字符
    
    fseek(fp,-100,SEEK_END); //相对于文件尾位置向前移动100个字符
    
    fseek(fp,100,SEEK_CUR); //相对于当前文件指针的位置向后移动100个字符
    
    fseek(fp,-100,SEEK_CUR); //相对于当前文件指针的位置向前移动100个字符
    
    fseek(fp, 0, SEEK_SET); //相对于文件的起始位置,没有偏移量,也就是将文件指针移动到文件的首
    
    fseek(fp, 0, SEEK_END); //相对于文件的终止位置,没有偏移量,也就是将文件指针移动到文件的尾巴
    
    fseek(fp, 100, SEEK_END); //没有意义的 
    
    fseek(fp, -100, SEEK_SET); //没有意义的 
    
(4)返回值:

    成功: 0
    
    失败: EOF

(5)案例代码


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值