0
class test{
int x;
public:
//public functions getx() and putx()
};
void main()
{
fstream file;
test ob;
file.open("test.txt",ios::in|ios::out);
file.write((char *)&ob,sizeof(ob));
file.close();
}
当执行该代码,假设x的当前对象被指定为1使用getx()
函数的值,对应于ASCII值1的字符被存储的在文本文件中,而不是数字1.如何解决这个问题?存储私有成员,因为它是在C++中使用的写功能
你需要编写一个序列化功能,为你的类。 – 2012-03-30 10:35:46
将数字1转换为相应的ascii? – 2012-03-30 10:36:31
你做什么_is_存储私人成员“原样”,这当然不是整数的十进制表示,而是二进制格式。 – leftaroundabout 2012-03-30 10:41:35