[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,如需转载请自行联系原作者
相关文章
|
2月前
|
测试技术 C++ iOS开发
c++IO库详细介绍
前言 简单分享一下c++ IO相关的一些知识点,希望对大家有用
48 0
|
3月前
|
Java 编译器 C++
颠倒二进制位(C++)
颠倒二进制位(C++)
34 1
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
56 0
|
29天前
|
算法 网络协议 编译器
【C++ 14 新特性】C++14二进制字面量:深度探索与实践
【C++ 14 新特性】C++14二进制字面量:深度探索与实践
38 1
|
3月前
|
C++
二进制求和(C++)
二进制求和(C++)
38 1
|
15天前
|
存储 C++ iOS开发
C++文件操作(文本文件的读写+二进制文件的读写)
C++文件操作(文本文件的读写+二进制文件的读写)
|
1月前
|
Linux API C++
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
20 1
|
安全 C语言 C++
【C++】—— C++的IO流
【C++】—— C++的IO流
|
3月前
|
Java Go Python
Golang每日一练(leetDay0103) 区域和检索1~3
Golang每日一练(leetDay0103) 区域和检索1~3
30 0
Golang每日一练(leetDay0103) 区域和检索1~3
|
3月前
|
算法 Java C++
Java每日一练(20230424) 二叉树中序遍历、交换链表节点、不同子序列
Java每日一练(20230424) 二叉树中序遍历、交换链表节点、不同子序列
36 0
Java每日一练(20230424) 二叉树中序遍历、交换链表节点、不同子序列