#include
#include
#include
using namespace std;
int main()
{
string str1;
string str2;
cin >> str1;
cin >> str2;
ofstream outfile("temp。
dat",ios::binary);
if(! outfile)
{
cerr << "Error ! " <<endl;
return 0;
}
outfile。write((char * )&str1,sizeof(string));
outfile。
write((char * )&str2,sizeof(string));
ose();
ifstream infile("temp。dat",ios::binary);
if (! infile)
{
cerr << "Error ! " <<endl;
return 0;
}
ad((char * )&str1,sizeof(string));
ad((char * )&str2,sizeof(string));
cout <<str1 <<endl;
cout <<str2 <<endl;
return 1;
}
如果我就这样执行的话,str1和str2能保存到文件,而且能够成功读取并显示。
但如果我把“保存”的那一段代码删掉,读取就会失败,显示乱码。怎么回事?怎么解决?(不要复制一大堆东西过来,谢谢。)。