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)(未完)