2.fseek函数的用法

2.fseek函数的用法C 语言 lseek 函数 移动文件的读写位置头文件 1 include lt sys types h gt nbsp include lt unistd h gt 定义函数 1off tlseek int nbsp fildes off toffset nbsp int nbsp whence 函数说明 每一个已打开的文件都有一个读写位置 当打开文件时通常其读写位置是指向文件开头 若是以附加的方式打开文件 如 O

C语言lseek()函数:移动文件的读写位置

头文件:

1
#include

  #include

定义函数:

1
off_t lseek(
int 
fildes, off_t offset, 
int 
whence);

参数 whence 为下列其中一种:

  •     SEEK_SET 参数offset 即为新的读写位置.
  •     SEEK_CUR 以目前的读写位置往后增加offset 个位移量.
  •     SEEK_END 将读写位置指向文件尾后再增加offset 个位移量. 当whence 值为SEEK_CUR 或
  •     SEEK_END 时, 参数offet 允许负值的出现.

返回值:当调用成功时则返回目前的读写位置, 也就是距离文件开头多少个字节. 若有错误则返回-1, errno 会存放错误代码.

附加说明:Linux 系统不允许lseek()对tty 装置作用, 此项动作会令lseek()返回ESPIPE.

C语言fseek()函数:移动文件流的读写位置
头文件:

1
#include

定义函数:

1
int 
fseek
(
FILE 
* stream, 
long 
offset, 
int 
whence);

返回值:当调用成功时则返回0, 若有错误则返回-1, errno 会存放错误代码.

附加说明:fseek()不像lseek()会返回读写位置, 因此必须使用ftell()来取得目前读写的位置.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include
main()
{
  
FILE 
* stream;
  
long 
offset;
  
fpos_t 
pos;
  
stream = 
fopen
(
"/etc/passwd"

"r"
);
  
fseek
(stream, 5, SEEK_SET);
  
printf
(
"offset = %d\n"

ftell
(stream));
  
rewind
(stream);
  
fgetpos
(stream, &pos);
  
printf
(
"offset = %d\n"
, pos);
  
pos = 10;
  
fsetpos
(stream, &pos);
  
printf
(
"offset = %d\n"

ftell
(stream));
  
fclose
(stream);
}

?
1
2
3
offset = 5
offset = 0
offset = 10


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

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

(0)
上一篇 2026年3月19日 下午6:29
下一篇 2026年3月19日 下午6:29


相关推荐

  • Head First Java(中文版)

    Head First Java(中文版)网站更多书籍点击进入>>CiCi岛下载电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍电子书下载(皮皮云盘-点击“普通下载”)购买正版封页编辑推荐★第14届Jolt大奖的参赛图书。  ★《HeadFirstJava》使纸质图书成为了你所见过的*接近GUI的事物,使学习Java成为一种风尚。  ★Java技术无所不在——如果…

    2022年7月7日
    32
  • RS纠删码原理

    RS纠删码原理ErasureCode EC 纠删码原理一 什么是 ErasureCode nbsp nbsp nbsp nbsp nbsp nbsp nbsp ErasureCode EC 即纠删码 是一种前向错误纠正技术 ForwardError FEC 说明见后附录 主要应用在网络传输中避免包的丢失 存储系统利用它来提高存储可靠性 相比多副本复制而言 纠删码能够以更小的数据冗余度获得更高数据可靠性 但编码方式较复

    2026年3月26日
    2
  • 扒一扒使用boostrap-fileinput上传插件遇到的坑,Bootstrap-fileinput上传插件的使用详解,「建议收藏」

    扒一扒使用boostrap-fileinput上传插件遇到的坑,Bootstrap-fileinput上传插件的使用详解,「建议收藏」由于公司项目的需求,需要实现动植物名录的添加,包括姓名等信息和图片等,需要使用bootstrap-fileinput的上传插件,在提交添加界面表单数据的同时上传一张或者多张图片,并将上传的图片保存到本地磁盘中(本文是f:盘的目录下),在在实现的时候,不适用bootstrap-fileinput上传插件本身的上传按钮(因为本身的按钮只能上传图片),需要点击提交,将表单的其他信息和图片一起提交到后台。

    2022年6月7日
    152
  • OpenCV中出现“Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000005C8ECFFA80 处。”的异常[通俗易懂]

    OpenCV中出现“Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000005C8ECFFA80 处。”的异常[通俗易懂]1致谢对于OpenCV的安装要感谢网友空晴拜小白提供的教程链接如下:https://blog.csdn.net/sinat_36264666/article/details/73135823?ref=myread#reply教程写的十分详细截图什么的也很好2问题描述今天在安装和测试OpenCV的时候遇到了这样的问题测试代码如下#include<opencv2/opencv.hpp…

    2026年4月17日
    5
  • oracle的listagg函数_oracle的listagg函数

    oracle的listagg函数_oracle的listagg函数Oracle11.2新增了LISTAGG函数,可以用于字符串聚集,测试如下:1,版本SQL>select*fromv$version;BANNER——————————————————————————–OracleDatabase11gEnterpris

    2025年9月25日
    8
  • StringUtils函数全集「建议收藏」

    StringUtils函数全集「建议收藏」StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils中一共有130多个方法…

    2022年6月1日
    27

发表回复

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

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