关于Doc::Serialize(CArchive& ar)提示“非预期的文件格式”

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:42:48
我现在往一个现成的程序加内容,
原先是正常的
if (ar.IsStoring())
{
ar << m_size;
ar << m_paperColor;
}
else
{
ar >> m_size;
ar >> m_paperColor;
}
我现在想加一项内容: penColor
提示“非预期的文件格式”
怎么解决啊?

你用旧程序保存了文件,文件里只有m_size和m_paperColor
这时你用新程序去读该文件,想要读出其中没有的penColor,就会发生“非预期的文件格式”错误
如果你都是使用新程序存保存和读取,就不会出现这个错误
(当然前提是你代码写正确了。如果还有错误,把你修改后的代码发上来)

penColor是什么类型的数据,假设是整型

if (ar.IsStoring())
{
ar << m_size;
ar << m_paperColor;
ar << penColor;

}
else
{
ar >> m_size;
ar >> m_paperColor;
ar >> penColor;

}