二进制文件的读写

Posted momo尼

tags:

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

具体的文件打开,读写和关闭方式在上一篇文章文本文件的打开,读写和关闭中有介绍,在这里就不赘述了。
在二进制文件的读写中,需要注意的是:
• 不要用 >> 读二进制文件
• 打开方式必须加上 ios::binary
• 使用 get、put、read、write 读写文件
• 慎用 eof()函数检测文件是否读结束,建议使用peek() != EOF 判断。

这里有个小例子:
从二进制文件中读写资料

#include<iostream>
#include<fstream>
using namespace std;
class Student
{
public:
char name[10];
double score;
Student(){}
Student(char *n, double sc) {
strcpy_s(name, n);
score = sc; }
};
int main()
{
Student s("Tom", 80), t;
ofstream fout("data.dat", ios::binary);
if (!fout) {
cerr << "文件打开失败" << endl;
exit(1);
}
fout.write((char *)&s, sizeof(Student));
fout.close();
ifstream fin("data.dat", ios::binary);
if (!fin)
{
cerr << "文件打开失败" << endl;
exit(1);
}
fin.read((char *)&t, sizeof(Student));
cout << "姓名\\t成绩" << endl;
cout << t.name <<"\\t" <<t.score <<endl;
fin.close();
return 0;

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

文本文件和二进制文件的读写问题

C/C++读写二进制文件

android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错

c语言如何读写二进制

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

java远程读写文件详解