VC++ 保存数组到txt中的问题
VC++保存数组到txt中的问题方法如下:CFileDialogdlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.t...
VC++ 保存数组到txt中的问题
方法如下:
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CFile file(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
CArchive ar(&file,CArchive::store|CArchive::bNoFlushOnDelete);
UpdateData(true);
filedata[0].Format("%.4f",3.1234);
filedata[1].Format("%.4f",-3.1234);
for(int i=0;i<=1;i++)
{
ar<<filedata[i];
ar<<'\r\n';
}
ar.Close();
file.Close();
}
说明1:运行后的负号不是数据中的负号,而真正的负号却变成一个乱码(黑实心的菱形) 展开
方法如下:
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CFile file(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
CArchive ar(&file,CArchive::store|CArchive::bNoFlushOnDelete);
UpdateData(true);
filedata[0].Format("%.4f",3.1234);
filedata[1].Format("%.4f",-3.1234);
for(int i=0;i<=1;i++)
{
ar<<filedata[i];
ar<<'\r\n';
}
ar.Close();
file.Close();
}
说明1:运行后的负号不是数据中的负号,而真正的负号却变成一个乱码(黑实心的菱形) 展开
3个回答
展开全部
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
CString csstrDirFile=dlg.GetFileName();
CFile file;
file.Open(csstrDirFile,CFile::modeCreate|CFile::modeWrite);
CString str1,str2;
str1.Format("%.4f",3.1234);
str2.Format("%.4f",-3.1234);
file.Write(str1,str1.GetLength());
file.Write(str2,str2.GetLength());
file.Close();
}
这样子就行了,不用那么麻烦吧?
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
CString csstrDirFile=dlg.GetFileName();
CFile file;
file.Open(csstrDirFile,CFile::modeCreate|CFile::modeWrite);
CString str1,str2;
str1.Format("%.4f",3.1234);
str2.Format("%.4f",-3.1234);
file.Write(str1,str1.GetLength());
file.Write(str2,str2.GetLength());
file.Close();
}
这样子就行了,不用那么麻烦吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要用CArchive的,代码改下:
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CFile file(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
filedata[0].Format("%.4f",3.1234);
filedata[1].Format("%.4f",-3.1234);
for(int i=0;i<=1;i++)
{
file.SeekToEnd();
file.Write(filedata[i] + "\r\n", filedata[i].GetLength());
}
file.Close();
}
CFileDialog dlg(false,"txt",_T("shuju.txt"),NULL,"Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径:");
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CFile file(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
filedata[0].Format("%.4f",3.1234);
filedata[1].Format("%.4f",-3.1234);
for(int i=0;i<=1;i++)
{
file.SeekToEnd();
file.Write(filedata[i] + "\r\n", filedata[i].GetLength());
}
file.Close();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-19
展开全部
CArchive 是以二进制的方式写入的
换种方法写入吧
换种方法写入吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询