feek()、ftell()和rewind()用法
长时间没用这几个函数了,今天用到,有些陌生,回忆后记录一下加深印象。
1、int fseek(FILE *stream, long offset, int fromwhere);
作用:重定位流(数据流/文件)上的文件内部位置指针;
参数:stream为文件打开后的流指针(FILE*);
offset为偏移量(正数为从文件头向文件尾的偏移方向,负数相反,0不偏移);
fromwhere为指针定位的位置(*SEEK_SET: 文件开头,SEEK_CUR: 当前位置,SEEK_END: 文件结尾);其中 SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
实例:
fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。
2、long ftell(FILE *stream);
作用:函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数;
参数:流指针(FILE*)
实例:
fseek(fp, 0L,SEEK_END); //将文件的当前位置移到文件的末尾
len =ftell(fp)+1; //调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数
3、 void rewind(FILE *stream);
作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头
参数:流指针(FILE*)
实例:rewind( cfptr );//将cfptr 指向文件开头
feek()、ftell()和rewind()用法相关推荐
- Linux C/C++编程:lseek、fseek、ftell、rewind、fgetpos、fsetpos、
rewind.fseek.ftell为C库函数,有缓冲,lseek为系统函数,不带缓冲 理论 每个打开文件都有一个与其相关联的"当前文件偏移量" 它通常是一个非负整数. 通常,读写 ...
- linux rewind函数,fseek(),ftell()和rewind()函数的用法详解
转自:http://blog.csdn.net/lijun5635/article/details/14210181 功 能 重定位流( 数据流/文件)上的 文件内部位置 指针 注意:不是 定位文件指 ...
- c语言文件操作中fseek,ftell,rewind的用法以及文件的输入和输出以及读写
1. 为什么使用文件 我们前面学习结构体时,可以写通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加.删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行 ...
- fseek,ftell,rewind函数
#include <stdio.h> int fseek(FILE *stream, long offset, int whence); 将stream所代表的文件的指针,从whence开 ...
- C语言——文件操作函数 fseek、ftell、rewind详解
前言 前面,我讲了讲文件操作的第二步:文件的读写操作,里面详细的介绍了各类读写函数的用法,有兴趣的小伙伴可以去看看: C语言--文件操作(2)文件的读写操作_ 接下来,我再来讲一讲关于标题中这三个函数 ...
- rewind java_Java LongBuffer rewind()用法及代码示例
java.nio.LongBuffer类的rewind()方法用于倒带此缓冲区.通过倒带此Buffer,可以执行以下操作: 当前位置设置为零 如果有标记,则将其丢弃,但标记值不变. 用法: publi ...
- C语言fseek、ftell和rewind函数详解
对于文件的读写方式,C 语言不仅支持简单地顺序读写方式,还支持随机读写(即只要求读写文件中某一指定的部分).对顺序读写方式来说,随机读写方式需要将文件内部的位置指针移动到需要读写的位置再进行读写,这通 ...
- rewind java_Java IntBuffer rewind()用法及代码示例
java.nio.IntBuffer类的rewind()方法用于倒带此缓冲区.位置设置为零,标记被丢弃.假设已正确设置了限制,请在序列channel-write或get操作之前调用此方法.调用此方法既 ...
- rewind java_Java ShortBuffer rewind()用法及代码示例
java.nio.ShortBuffer类的rewind()方法用于倒带此缓冲区.通过倒带此Buffer,可以执行以下操作: 当前位置设置为零 如果有标记,则将其丢弃,但标记值不变. 用法: publ ...
最新文章
- module ‘torchtext.data‘ has no attribute ‘LabelField‘
- 第7周项目实践 1 队列算法库的建立
- ubuntu ssh如何连接mysql_ubuntu配置ssh连接方式
- 计算机二级考试答题无法启动ppt,计算机二级考试中操作题常见问题之[演示文稿]...
- python简单超级马里奥游戏下载大全_Python实现超级玛丽游戏系列教程02玛丽走跑...
- ERP产品销售发货判断库存功能(四十二)
- exponential family distribution(指数族分布)
- python和java的区别-Python和Java的区别有哪些?如何选择?
- explain和profiling分析查询SQL时间
- 老板要我开发一个OA多级审批流(干货满满)
- 云算法——骑士在棋盘上的概率之公主当不了堂吉诃德
- PC发卡机器人 v1.0
- 计算机系统是日语,如何在计算机系统中添加日语输入法
- 0x00007FFEB46D3F57 (mfc140ud.dll)处(位于*.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000000
- 2006-10-30 18:37:00 著名Linux内核程序员大鹰 ox啊
- hp1015驱动64位_在win10/win7 64位系统上安装 hp laserjet 1015对应的打印机驱动
- PCB学习笔记——DRC检查
- ubuntu12.04安装puppet foreman
- 笔记本外放无声而带上耳机有声的解决办法
- Linux服务器性能监控