博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++对二进制文件的操作实例
阅读量:6229 次
发布时间:2019-06-21

本文共 1003 字,大约阅读时间需要 3 分钟。

有5个学生的数据,要求:

(1)将它们存放到磁盘文件中;

(2)将磁盘文件中的第1,3,5个学生数据读入程序,并显示出来;

(3)将第三个学生的数据修改后存回磁盘文件中的原有位置;

(4)从磁盘文件读入修改后的5个学生的数据并在屏幕输出。

为了使自己能够看懂程序,先看说明:

istream&read(char *buffer,int len);

ostream&wirte(const*char *buffer,int len);

字符指针buffer指向内存中一段存储空间,len是读写的字节数。

abort函数的作用是退出程序,与exit函数的作用相同。

seekg(位移量,参照位置);以参照位置为基础,将输入指针移动若干字节;

seekp(位移量,参照位置);以参照位置为基础,将输出指针移动若干字节;

参照位置可以是下面三个之一:

ios::beg文件开头

ios::cur指针当前位置

iod::end文件末尾

#include
#include
#include
#include
using namespace std;struct student{ int num; char name[20]; float score;}; int main(){ student stud[5]= {1001,"Li",85, 1002,"Fun",97.5, 1003,"Wang",98, 1004,"Tan",76.5, 1005,"Ling",96}; fstream iofile("stud.dat",ios::in|ios::out|ios::binary); //用fstream类定义输入输出二进制文件流对象iofile if(!iofile) { cerr<<"open error!"<
程序输出结果:

/*	1001 Li 85	1003 Wang 98	1005 Ling 96		1001 Li 85	1002 Fun 97.5	1012 qianshou 100	1004 Tan 76.5	1005 Ling 96*/

转载于:https://www.cnblogs.com/zhezh/p/3773496.html

你可能感兴趣的文章
嵌入式Linux C语言基础——ARM Linux内核常见数据结构
查看>>
原理剖析(第 006 篇)Semaphore工作原理分析
查看>>
Java基础查漏补缺:(开篇)为什么要在即将找工作的时候还在看Java基础
查看>>
VXWORKS关于任务创建的几个函数概述
查看>>
破解candy crush过程
查看>>
corosync+pacemaker+drbd构建web高可用集群
查看>>
年计划,技术儿告诉你怎么做?
查看>>
VCT-Virtual Cable Test-虚拟电缆检测
查看>>
Java ibatis调用存储过程出现阻塞
查看>>
例解三层交换原理
查看>>
java-第十一章-类的无参方法-实现菜单的级联效果
查看>>
如何检测集群中每台主机的状态
查看>>
时针、分针在一昼夜 24 小时内重合多少次?
查看>>
PHP 5 常量
查看>>
第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
查看>>
react的style里面不支持important的解决办法
查看>>
JS基本问题
查看>>
我的第一篇博客
查看>>
php版本之殇
查看>>
IDEA 葵花宝典
查看>>