[C++][IO]读写二进制文件

简介:

1. 以二进制方式读写结构体

struct  Student
{
     string name;
     string sex;
     int  age;
}
 
void  write(string filePath, const  struct  Student* stu, int  n)
{
     FILE  *fp;
     int  i;
     if ((fp= fopen (filePath, "wb" ))==NULL)
     {
         printf ( "cant open the file" );
         return ;
     }
     for (i=0;i<n;i++)
     {
         if ( fwrite (&stu[i], sizeof ( struct  Student),1,fp)!=1)
         printf ( "file write error\n" );
     }
     fclose (fp);
}
 
void  read(string filePath, const  struct  Student* stu, int  n)
{
     FILE  *fp;
     int  i;
     if ((fp= fopen (filePath, "rb" ))==NULL)
     {
         printf ( "cant open the file" );
         return ;
     }
     for (i=0;i<n;i++)
     {
         if ( fread (&stu[i], sizeof ( struct  Student),1,fp)!=1)
         printf ( "file read error\n" );
     }
     fclose (fp);
}

本文转自静默虚空博客园博客,原文链接:http://www.cnblogs.com/jingmoxukong/articles/2132600.html,如需转载请自行联系原作者
相关文章
|
7月前
|
网络协议 安全 Linux
Linux C/C++之IO多路复用(select)
这篇文章主要介绍了TCP的三次握手和四次挥手过程,TCP与UDP的区别,以及如何使用select函数实现IO多路复用,包括服务器监听多个客户端连接和简单聊天室场景的应用示例。
172 0
|
7月前
|
存储 Linux C语言
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
293 1
Linux C/C++之IO多路复用(aio)
|
4月前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
阿里云ESSD Entry云盘是新一代企业级云盘,具备高IOPS、低延迟特性,适合开发与测试场景。它提供10~32,768 GiB容量范围,最大IOPS达6,000,吞吐量150 MB/s,时延1~3 ms。支持按量付费和包年包月,性价比高,特别适合个人开发者和中小企业。详情及价格参考阿里云官网。
|
4月前
|
存储 C++
【C++面向对象——输入输出流】处理二进制文件(头歌实践教学平台习题)【合集】
本任务要求使用C++读取二进制文件并在每行前添加行号后输出到控制台。主要内容包括: 1. **任务描述**:用二进制方式打开指定文件,为每一行添加行号并输出。 2. **相关知识**: - 流类库中常用的类及其成员函数(如`iostream`、`fstream`等)。 - 标准输入输出及格式控制(如`cin`、`cout`和`iomanip`中的格式化函数)。 - 文件的应用方法(文本文件和二进制文件的读写操作)。 3. **编程要求**:编写程序,通过命令行参数传递文件名,使用`getline`读取数据并用`cout`输出带行号的内容。 4. **实验步骤**:参考实验指
139 5
|
11月前
|
C++
C++的简单文本文件IO
C++的简单文本文件IO
|
12月前
|
算法 C语言 C++
【C++】C++的IO流
【C++】C++的IO流
|
7月前
|
Linux C++
Linux C/C++之IO多路复用(poll,epoll)
这篇文章详细介绍了Linux下C/C++编程中IO多路复用的两种机制:poll和epoll,包括它们的比较、编程模型、函数原型以及如何使用这些机制实现服务器端和客户端之间的多个连接。
172 0
Linux C/C++之IO多路复用(poll,epoll)
|
6月前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
ESSD Entry云盘是阿里云推出的新一代云盘,具备高IOPS、低延迟和企业级数据保护能力。适用于开发与测试场景,支持按量付费和包年包月计费模式。99元和199元的ECS经济型e实例和通用算力型u1实例均采用ESSD Entry系统盘,性价比高。详细性能参数和价格请参考阿里云官方页面。
299 0
|
9月前
|
算法 C语言 C++
【C++航海王:追寻罗杰的编程之路】C++的IO流
【C++航海王:追寻罗杰的编程之路】C++的IO流
58 2
|
9月前
|
Ubuntu Linux
内核实验(九):添加IO驱动的阻塞读写功能
本文通过修改内核模块代码,介绍了如何在Linux内核中为IO驱动添加阻塞读写功能,使用等待队列和条件唤醒机制来实现读写操作的阻塞和非阻塞模式,并在Qemu虚拟机上进行了编译、部署和测试。
66 0

热门文章

最新文章