问题如下:(嘴太笨,说得很罗嗦,你要有耐心啊!)
    点击button‘采集’在一个固定文件夹内用CStdioFile生成文本文件,并写入数据。
CStdioFile file[2];
for(i=0;i<2;i++)
{
if(!file[i].Open(m_strFilename[i],CFile::modeCreate|CFile::modeWrite,&e))
……
file[i].Close();
}
    点击button‘文件’从上面的文件夹内读文本数据,方法为CFileDialog产生对话框,再用CStdioFile读入到数组。
CFileDialog  openfile(TRUE,_T("TXT"),_T("*.TXT"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("文本文件(*.TXT)"));if(IDOK==openfile.DoModal())
{
m_strFilepath=openfile.GetPathName();
CFileException e;
CStdioFile file; if(!file.Open(m_strFilepath,CFile::modeRead, &e))
         {……}
    ……
         file.Close();
}
大概的代码就这样的,基本上是抄袭过来的,还请谅解。问题是:运行程序,点击‘采集’很好用,可以看到按照timer的设定不停的生成文件。或者是运行程序,点击‘文件’也很好用,可以读入数据。但是当先点击了‘文件’(数据是否读入数组都一样,只要出现读入对话框就会发生后面的错误),再点击‘采集’则出错终止程序。在采集的过程中,点击‘文件’出现对话框时也会出错终止程序,一个数据也不能保存了。不知道为什么,请高手明示。