首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这个C语言中的常用函数,你知道怎么使用吗?

fseek函数是C语言中的常用函数,大家都知道fseek函数的作用是调节文件指针位置,今天华妹给大家分享一下fseek在Linux操作系统下的使用~

首先查看一下Linux用户使用手册

函数名:fseek

头文件:#include

功能:把与stream 有关的读写文件位置指针放到一个指定位置。

参数:FILE*stream:使用fopen打开文件指针stream

long offset:偏移位置(以字节为单位)

int whence:基准位置,一般指定为下列常量之一

函数声明:int fseek(FILE *stream, long offset, int whence);

如果执行成功,stream将指向以whence为基准,偏移offset(指针偏移量)个字节的位置,函数返回0如果执行失败(比如offset取值大于等于2*1024*1024*1024,即long的正数范围2G),则不改变stream指向的位置,函数返回-1,并且会设置errno,可以使用perror()输出错误原因。

例题代码

程序运行结果:

fseek的第二个参数偏移位置正数表示向后(文件结尾的方向)移动,负号表示向前(文件开头的方向)移动。

例如:

fseek(stream, 100L, SEEK_CUR);//把stream指针移动到离文件当前位置100字节处。

fseek(stream, -100L,SEEK_END);//把stream指针移动到离文件结尾100字节处。

使用实例

fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。通过ftell,可以获取当前指针距离文件开头的字节数。

注意事项

fseek一般用于二进制文件的指针移动,也可以用于文本文件,但操作的stream必须是已经打开的文件。如果没有打开的文件,那么将会出现错误。

fseek不能操作进程间通信的文件,如:pipe,FIFO或者socket。如果操作这些文件将会返回-1,并且设置errno为ESPIPE。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230606A07HDL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券