📄 subject_44551.htm
字号:
<p>
序号:44551 发表者:小鬼子 发表日期:2003-06-21 00:41:23
<br>主题:如何将一doubele型数组的数据写到一文件中,急知!!!
<br>内容:我定义了一个数组double m_matchpoint[4][20][2];并创建了<BR>CFile mpfile("c:\matchpoint.txt",CFile::modeReadWrite|CFile::modeCreate);<BR><BR> mpfile.Write((char*)m_matchpoint,sizeof(m_matchpoint));<BR> mpfile.Close();<BR>但查看文件matchpoint.txt文件,里面是乱码,如何正确将数据写入文件?请教<BR>我的email:ggfboy@sina.com<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:王小丫 回复日期:2003-06-21 11:19:14
<br>内容:你所创建的文件是二进制的,所一用记事本看为乱码。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小鬼子 回复日期:2003-06-21 16:40:16
<br>内容:那我应该这样做?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:试一试 回复日期:2003-06-22 16:04:10
<br>内容:void CDlg::SaveConfig()<BR>{<BR> CString sFileConfig;<BR> sFileConfig="c:\\YouAppConfig.dat";//你的应用程序配置文件<BR> CFile fileConfig;<BR> fileConfig.Open(sFileConfig,CFile::modeCreate | CFile::modeWrite);<BR> CArchive ar(&fileConfig,CArchive::store);<BR> Serialize(ar);<BR> ar.Close();<BR> fileConfig.Close();<BR><BR>}<BR><BR>void CDlg::LoadConfig()<BR>{<BR> CString sFileConfig;<BR> sFileConfig="c:\\YouAppConfig.dat";//你的应用程序配置文件<BR> CFile fileConfig;<BR> CFileFind Finder;<BR> if(Finder.FindFile(sFileConfig))<BR> {<BR> if(fileConfig.Open(sFileConfig,CFile::modeRead))<BR> {<BR> CArchive ar(&fileConfig,CArchive::load);<BR> Serialize(ar);<BR> ar.Close();<BR> fileConfig.Close();<BR> }<BR> }<BR>}<BR><BR><BR>void CDlg::Serialize(CArchive& ar)<BR>{<BR> int iTotal;<BR> double* pData = (double*)&m_matchpoint;<BR> if(ar.IsStoring())<BR> {<BR> iTotal=4*20*2;<BR> ar<< iTotal;//储存数据总数<BR> for(int i=0;i<iTotal;i++)<BR> ar<<*(pData+i);<BR><BR> }<BR> else<BR> {<BR> ar>>iTotal;<BR> for(int i=0;i<iTotal;i++)<BR> ar>>*(pData+i);<BR> }<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ninekwll 回复日期:2003-06-22 17:02:44
<br>内容:用CStdioFile这个类试试看看。<BR> LPCTSTR lpszFilter="所有文件(*.*)|*.*|文本文件(*.txt)|*.txt|";<BR><BR> CFileDialog fd( FALSE,NULL,"未命名",<BR> OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,<BR> lpszFilter,NULL );<BR><BR> CString strFileName;<BR><BR> if( IDOK == fd.DoModal() )<BR> {<BR><BR> strFileName = fd.GetPathName()+".txt";<BR><BR> CStdioFile file(strFileName,<BR> CFile::modeCreate | CFile::modeWrite | CFile::typeText ); <BR> CString str;<BR> <BR> for( int i=0;i<4;i++)<BR> for( int j=0;j<20;j++)<BR> for( int n=0;n<2;n++) <BR> {<BR> str.Format("%f \n",m_matchpoint[i][j][n]; );<BR><BR> <BR> file.WriteString(str);<BR> }<BR> file.Close();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小鬼子 回复日期:2003-06-22 21:04:12
<br>内容:如果要将matchpoint中的数据按照行来存储, 如<BR>><BR>> x=135 y=139<BR>> .<BR>> .<BR>><BR>><BR>>怎么做呢?谢谢 !<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:郭强 回复日期:2003-06-23 15:58:28
<br>内容:自己做一个循环往文件中写数据<BR>CString szContent;<BR>szContent.Format("x=%d, y=%d \r\n", m_matchpoint[i][j][1], m_matchpoint[i][j][2]);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:飞浪 回复日期:2003-06-23 16:42:03
<br>内容:你可以用最简单的fstream类<BR>具体用法:<BR>fstream mpfile("c:\matchpoint.txt",ios::out);<BR>for(int i=0;i<4;i++)<BR>for(int j=0;j<20;j++)<BR>{<BR>for(int k=0;k<2;k++)<BR>mpfile<<m_matchpoint[i][j][n]<<'\t';<BR>mpfile<<'\n';<BR>}<BR>>>>>>>>>看看可不可以<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -