c++基础之文件的随机访问fseek
来源:互联网 发布:淘宝网宣纸 编辑:程序博客网 时间:2024/06/03 06:59
计算机领域的两个术语:
顺序访问:sequential access,按顺序访问,不能跳跃;
随机访问:random access,随意跳到一个位置访问。
fseek
使用fseek可以实现文件FILE*的随机访问
int fseek(FILE *stream,long offset, int mode);
参数:
stream:文件指针
offset:一个整数,表示偏移值;
mode:相对位置;
返回值:
0:操作成功;-1,操作失败
跳到第100个字节的位置
fssek(fp,100,SEEK_SET);
跳到倒数100字节的位置
fseek(fp,100,SEEK_END);
跳到当前位置往前100个字节
fseek(fp,-100,SEEK_CUR);
跳到当前位置往后100个字节
fseek(fp,100,SEEK_CUR);
fseek不宜频繁使用
在物理上,硬盘,U盘等外部存储器属于“慢速存储设备”,不能频繁的读写。
1.速度慢,效率低;
2.降低设备的使用寿命
在fseek的时候,每一次fseek都要移动物理“磁头”,因而不能频繁的fseek,以免损坏物理设备。
通常的做法,一次性读取一批数据到内存,然后在内存中处理数据。
注意:一般来说,读取4个字节和读取4096个字节,对于硬盘来说所需要的操作是相同的。因为硬盘一般单次读写的最小单位是几K,比如4096字节。
注意:同时读一个文件是允许的,但同时写一个文件是不可以的。
阅读全文
0 0
- c++基础之文件的随机访问fseek
- C语言的文件随机访问fseek()和ftell()函数
- 文件随机读写实现...fseek
- C/C++之FILE文件流的中fopen、fread、fseek、fclose的使用
- c文件操作之位置指针设置函数fseek
- C文件流操作的fread和fseek
- C语言fseek()函数:移动文件流的读写位置
- fseek与ftell做c文件的移动
- C++文件的随机访问
- 文件操作函数之fseek
- 文件操作之fseek,ftell
- C文件之四 文件的随机读/写
- JavaIO之RandomAccessFile随机访问文件
- Java之RandomAccessFile(随机访问文件)
- 9.6 文件-文件的随机访问
- c语言文件操作 fread(),fseek()
- RandomAccess随机访问文件的小例子
- c文件操作之fopen、fclose、fread、fwrite及相关fseek、ftell、rewind例子
- 正则表达式初探
- Spring国际化支持
- 【MOOC—数据结构习题】两个有序链表序列的合并
- 软件工程作业习题2.2
- 3.TPC-C测试工具——创建表
- c++基础之文件的随机访问fseek
- jdk的安装与配置
- git初始化项目提交到码云
- Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal
- Object[ ] toArray()与 <T> T[ ] toArray(T[] a)
- 4.TPC-C测试工具——导入TPCC数据
- 软件工程作业习题2.3
- 跨域问题(什么是跨域?怎么解决跨域问题?)
- 初探Hadoop 2.x