把string改成char就没问题
头文件
#pragma once
#include<string>
using namespace std;
class Extest {
public :
Extest();
void show();
void input();
private:
int a;
int b;
string c;//char c[20]={'\0'};
};
cpp文件
#include<iostream>
#include<fstream>
using namespace std;
#include "extest.h"
int main()
{
Extest obj1;
obj1.input();
Extest obj2;
ofstream out("Object.txt", ios_base::out | ios_base::trunc | ios_base::binary);
if (!out.is_open())
cout << "FAIL" << endl;
out.write((const char*)&obj1, sizeof(Extest));
out.close();
ifstream in("Object.txt", ios_base::in | ios_base::binary);
if (!in.is_open())
cout << "FAIL" << endl;
while (in.peek() != EOF)
{
in.read((char*)&obj2, sizeof(Extest));
}
in.close();
obj2.show();
return 0;
}
Extest::Extest()
{
a = 0;
b = 0;
c = "NO";//for(int i=0;i<20;i++)c[i]={'\0'};
}
void Extest::show()
{
cout <<"a:"<< a << endl;
cout << "b:" << b << endl;
cout << "c:" << c << endl;
}
void Extest::input()
{
cin >> a >> b;
cin>> c;
}
请各路大神解答!