注册 登录
编程论坛 C++教室

关于字符串类型(string)的问题

wjcloudy 发布于 2008-10-18 17:00, 699 次点击
为什么将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]]
2 回复
#2
debroa7232008-10-18 20:48
代码呢?
可能是多字节和宽字节的问题,也可能是你的代码问题.没代码谁知道什么错误.
#3
wjcloudy2008-10-19 14:09
回复 2# debroa723 的帖子
不好意思,我现在把代码写上去了
1