C++ ifstream,ofstream读写二进制文件

Posted aban-mtd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ ifstream,ofstream读写二进制文件相关的知识,希望对你有一定的参考价值。

为什要吧数据存为二进制

这个嘛,是我个人习惯,一般,我们会把日志文件存为文本文件。数据文件存成二进制文件。

其实,我们接触的文件,比如图像、视频都是以二进制的形式存储的,要想查看这类数据,必须知道数据是如何存储的。

不管你的数据类型是什么,以二进制形式存储的时候,都可以把它以字节的形式存储。

比如int,也许有四个字节,我们只需要把它的地址换成char×,并且写入4个字节就行了,读出也是一样的。


代码

#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char** argv)


  int a[5] = 1,2,3,4,5;
  int b[5];

  ofstream ouF;
  ouF.open("./me.dat", std::ofstream::binary);
  ouF.write(reinterpret_cast<const char*>(a), sizeof(int)*5);
  ouF.close();

  ifstream inF;
  inF.open("./me.dat", std::ifstream::binary);
  inF.read(reinterpret_cast<char*>(b), sizeof(int)*5);
  inF.close();

  for (int i = 0; i < 5; i++)
  
    cout << b[i] << endl;
  
  return 0;






以上是关于C++ ifstream,ofstream读写二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

C++文件读写详解(ofstream,ifstream,fstream)

C++中,ifstream和ofstream定义文件流的区别

C++ ifstream ofstream 用法解析(iostreamfstream头文件)(ios::appios::ateios::inios::outios::trunc)(未完)

C++ ifstream ofstream 用法解析(iostreamfstream头文件)(ios::appios::ateios::inios::outios::trunc)(未完)

5.26 C++文件读写操作

C++中怎样进行二进制文件的读写?