关于字符串类型(string)的问题
为什么将string类型的变量通过文件存储以后再读取出来是乱码的呢?代码如下:
string name; //先用这段程序将name保存在文件中,然后关闭程序
cin >> name;
ofstream writefile("name.dat", ios::binary);
if(!writefile)
{
cout << "Erorr" << endl;
exit(1);
}
writefile.write((char *)&name,sizeof(name));
writefile.close();
//再用下面这段程序将文件中的内容读出来
string name;
ifstream readfile("name.dat", ios::binary);
if(!readfile)
{
cout << "Erorr" << endl;
exit(1);
}
readfile.read((char *)&name,sizeof(name));
cout << name << endl;
[[it] 本帖最后由 wjcloudy 于 2008-10-19 14:08 编辑 [/it]]