#include<iostream>
#include<string>
#include<fstream>
using namespace std;
class A
{
public:
A(){};
A(string a):a(a){}
show(){
cout<<a<<endl;
}
private:
string a;
};
void main()
{
/*A a("fdsfefefd");
a.show();
ofstream os("gao",ios_base::binary);
os.write(reinterpret_cast<char*>(&a),sizeof(a));
os.close();*/
A b;
ifstream is("gao",ios_base::binary);
is.read(reinterpret_cast<char*>(&b), 16);
b.show();
}
把注釋取消后能夠運行 , 注釋后沒法讀出 運行失敗 ,原因是string的問題,但如果不改變這種操作,有什么解決辦法嗎
uj5u.com熱心網友回復:
ifstream、ofstream 都是對檔案的操作,你這么寫:ofstream os("gao",ios_base::binary);ifstream is("gao",ios_base::binary);是不是有問題吖?另外:is.read(reinterpret_cast<char*>(&b), 16);改成,把a宣告成public, is.read(reinterpret_cast<char*>(&(b.a)), 16);試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114494.html
標籤:基礎類
上一篇:C++中指標的問題
下一篇:關于膚色檢測問題
