⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_44551.htm

📁 一些关于vc的问答
💻 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>&nbsp;&nbsp;&nbsp;&nbsp;mpfile.Write((char*)m_matchpoint,sizeof(m_matchpoint));<BR>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;CString sFileConfig;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sFileConfig="c:\\YouAppConfig.dat";//你的应用程序配置文件<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFile fileConfig;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fileConfig.Open(sFileConfig,CFile::modeCreate | CFile::modeWrite);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CArchive ar(&amp;fileConfig,CArchive::store);<BR>&nbsp;&nbsp;&nbsp;&nbsp;Serialize(ar);<BR>&nbsp;&nbsp;&nbsp;&nbsp;ar.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;fileConfig.Close();<BR><BR>}<BR><BR>void CDlg::LoadConfig()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString sFileConfig;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sFileConfig="c:\\YouAppConfig.dat";//你的应用程序配置文件<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFile fileConfig;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFileFind Finder;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(Finder.FindFile(sFileConfig))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(fileConfig.Open(sFileConfig,CFile::modeRead))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CArchive ar(&amp;fileConfig,CArchive::load);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serialize(ar);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileConfig.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR><BR>void CDlg::Serialize(CArchive&amp; ar)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int iTotal;<BR>&nbsp;&nbsp;&nbsp;&nbsp;double* pData = (double*)&amp;m_matchpoint;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(ar.IsStoring())<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iTotal=4*20*2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar&lt;&lt; iTotal;//储存数据总数<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;iTotal;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar&lt;&lt;*(pData+i);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar&gt;&gt;iTotal;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;iTotal;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar&gt;&gt;*(pData+i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPCTSTR lpszFilter="所有文件(*.*)|*.*|文本文件(*.txt)|*.txt|";<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFileDialog fd( FALSE,NULL,"未命名",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpszFilter,NULL&nbsp;&nbsp;&nbsp;&nbsp;);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString strFileName;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( IDOK == fd.DoModal() )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strFileName = fd.GetPathName()+".txt";<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CStdioFile file(strFileName,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFile::modeCreate | CFile::modeWrite | CFile::typeText ); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString str;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for( int i=0;i&lt;4;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for( int j=0;j&lt;20;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for( int n=0;n&lt;2;n++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str.Format("%f \n",m_matchpoint[i][j][n];&nbsp;&nbsp;&nbsp;&nbsp;);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file.WriteString(str);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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中的数据按照行来存储,&nbsp;&nbsp; 如<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x=135&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y=139<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&gt;<BR>&gt;<BR>&gt;怎么做呢?谢谢&nbsp;&nbsp;&nbsp;&nbsp;!<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&lt;4;i++)<BR>for(int j=0;j&lt;20;j++)<BR>{<BR>for(int k=0;k&lt;2;k++)<BR>mpfile&lt;&lt;m_matchpoint[i][j][n]&lt;&lt;'\t';<BR>mpfile&lt;&lt;'\n';<BR>}<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;看看可不可以<BR>&nbsp;&nbsp;&nbsp;&nbsp;
<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 + -