使用fseek()函数随机访问文件
2019独角兽企业重金招聘Python工程师标准>>>
// randomfile.c -- 使用fseek()函数随机访问文件
#include <stdio.h>
#include <stdlib.h>
#define MAX 50int main(void){FILE *fp;int data, count, array[MAX];long offset;// 为数组各元素赋值for(count = 0; count < MAX; count++)array[count] = count * 10;// 以写入模式打开二进制文件if((fp = fopen("RANDOM.DAT", "wb")) == NULL){fprintf(stderr, "Error opening file.");exit(1);} // 将数组写入文件,然后关闭文件if((fwrite(array, sizeof(int), MAX, fp)) != MAX){fprintf(stderr, "Error writing data to file.");exit(1);}fclose(fp);// 以二进制模式打开文件if((fp = fopen("RANDOM.DAT", "rb")) == NULL){fprintf(stderr, "Error opening file.");exit(1);}/*询问用户希望读取哪一个元素。输入该元素并显示它,用户输入-1时退出程序*/while(1){printf("\nEnter element to read, 0-%d, -1 to quit: ", MAX-1);scanf("%ld", &offset);if(offset < 0)break;else if(offset > MAX-1)continue;//将位置指示符移至制定元素if((fseek(fp, (offset * sizeof(int)), SEEK_SET)) != 0){fprintf(stderr, "Error using fseek().");exit(1);}fread(&data, sizeof(int), 1, fp);printf("\nElement %ld has value %d.", offset, data);}fclose(fp);return 0;
}
转载于:https://my.oschina.net/u/241930/blog/519595
使用fseek()函数随机访问文件相关推荐
- 对象流,管道流和随机访问文件流
------- android培训.java培训.期待与您交流! ---------- 1 对象的存储ObjectInputStream(InputStream())和ObjectOutputStre ...
- 5.2 IO流(File类,Propertis配置文件,其他类(打印流,序列流,操作对象的流(序列化接口),随机访问文件的流,管道流,操作基本数据的流,操作数组的流,操作字符串的流),编码表)
1.File类 IO流的流对象只能操作设备上的数据.File类:1.用来将文件或者文件夹(也称目录)封装成对象. 2.方便对文件和文件夹的属性信息进行操作.(操作文件夹,文件的属性(创建时间,修改时间 ...
- IO之 随机访问文件(RandomAccessFile)
随机访问文件(RandomAccessFile): 表示可以在该文件的任何位置写出和读取数据. API中文解释: 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个 ...
- php fseek函数,php fseek函数读取大文件两种方法
php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也 ...
- java 管道流PipedInputStream,PipedInputStream和随机访问文件 RandomAccessFile
http://blog.csdn.net/zlp1992/article/details/50298195 给个链接自己去看吧.网上资料不是很多,而且自己也不想写了 RandomAccessFil ...
- C语言的文件随机访问fseek()和ftell()函数
C语言的文件随机访问fseek()和ftell()函数 我们要讨论3个问题:fseek()和ftell()函数的工作原理.如何使用二进制流.如何让程序可移植. fseek()与ftell()的工作原理 ...
- C文件操作——设置文件的位置指示器fseek函数(一般用于二进制文件)
文章目录: 一:语法 二:参数 三:返回值 四:举例 fseek 函数用于设置文件流的位置指示器 一:语法 #include <stdio.h> ... int fseek(FILE *s ...
- 十二、Linux文件 - fseek函数讲解
目录 一.fseek函数讲解 二.fseek函数实战 一.fseek函数讲解 重定向文件内部的指针 注:光标 ---- 文件内部的指针 函数原型: int fseek(FILE *stream,lon ...
- java 字符流read函数,JAVA中文件的读写 I/O 输入输出流
主要内容 1.编码问题 2.File类的使用 3.RandomAccessFile的使用 4.I/O 输入输出流 编码问题: 1 importjava.io.UnsupportedEncodingEx ...
- 随机访问类(RandomAccessFile)
随机访问类(RandomAccessFile) 随机访问类(RandomAccessFile) - [] 输入流FileInputStream和输出流 FileOutputStream,实现的是对磁盘 ...
最新文章
- golang 命令汇总
- 把一个质量为M0 的物体加速到 时间慢100倍 需要多大能量
- 2017-10-5模拟赛T2 小Z爱排序(sorting.*)
- SQL Server--用户自定义函数
- 冷藏温度范围_冰箱冷藏温度多少合适 冰箱冷藏温度调节范围
- linux php扩展 mysqli,[linux]PHP添加mysqli扩展 | 学步园
- Vue源码分析 - compile.js
- 【王道计组笔记】主存与CPU的连接
- Java一套拳法刷掉n个遍历树的问题
- 微信聊天内容制作生成器微信小程序源码_支持多种制作生成
- 批量制作通知书会议邀请函等模板式文本并快速批量发送邮件
- 为什么你学不过动态规划?告别动态规划,谈谈我的经验
- 网付代理利润我把它分析得透透的
- ICIP论文结构整理
- 计算机体系结构 第一章 计算机系统结构的基础知识(2)
- 常见10种安全漏洞(OWAPS TOP 10)
- Pytorch张量(Tensor)复制
- 马云希望下辈子做女人,而我们希望这辈子做马云
- error: converting to execution character set: Invalid or incomplete multibyte or wide character
- xxl-job调度中心基本配置使用