请问关于文件的打开和保存数据操作有关问题:使用串行化

请教关于文件的打开和保存数据操作问题:使用串行化
问题归纳:串行化保存双精度型数据,十进制,换行,空格
代码如下所示,我的数据保存在一个集合类m_SelPtList中,其有三个成员变量(分别为X,Y,Z三个坐标值,类型是double),我这样保存下来的是二进制格式的文件,我想请问如何转为十进制显示的格式(即在文件中保存下来的是十进制的).
CFile   file( "1.txt ",CFile::modeCreate   |   CFile::modeWrite);
CArchive   ar(&file,CArchive::store);
int   iCount=Spt.m_SelPtList.GetSize();
for(int   i=0;i <iCount;i++)
{
  ar < <m_SelPtList[i]-> x < <m_SelPtList[i]-> y < <m_SelPtList[i]-> z;
}
在文件中我希望是按如下方式保存:每一行代表一个点,每个点的坐标以空格隔开分别存放X,Y,Z坐标.如下示:
-2.372417e+02   -4.032650e+01   -5.574990e+01//点一
-2.260712e+02   -4.186780e+01   -5.933653e+01//点二
请问如何在串行化中实现换行保存?空格隔开每个值?打开此文件的代码如何写更好?


------解决方案--------------------
可以使用CString::Format()来完成

double value = 123456.6789;

CString strValue;
strValue.Format( "%le ", value);

然后再把strValue保存到文件就可以了
------解决方案--------------------
我想保存为十进制格式的文件
===========

你要的是文本文件.

另外你的Serialize最好放在集合类m_SelPtList中.

------解决方案--------------------
你可以用CString 对象先格式化要写的数据,
然后用ar写入该CString对象到文件即可