我想把从串口读入的数据保存起来,要求可以5,10,15,30,60分钟保存停止程序。
我用settimer()做这个定时保存,可是只能到这段时间结束后才会产生这个文件。如果长时间保存万一中途断电或其他情况那段时间的数据就丢失了。而且我保存的是显示在edit上面的数据。这样时间长占用的资源也会很大。我很想做成:edit显示20个数据,文件里相应写入这20条数据,然后清空edit.不知道该怎么做?下面是我的保存程序代码 收到并显示代码
int nLen = m_ctrlReceive.GetWindowTextLength();
m_ctrlReceive.SetSel(nLen, nLen);
m_ctrlReceive.ReplaceSel(str);
nLen += str.GetLength();
m_strReceive += str;保存代码
    CTime t = CTime::GetCurrentTime();
CString str0 = t.Format("%Y年%m月%d日%H时%M分%S秒\r\n");
CString str9 = t.Format("%Y%m%d%H%M.txt");
char buf[40];
strcpy(buf, str9);CFile f;
f.Open(str0,CFile::modeCreate);
if (!m_rfile.Open(buf, CFile::modeCreate | CFile::modeWrite))
{
    AfxMessageBox("创建记录文件失败");
    return 0;
}
if((access(buf, 0)) == -1)
{
    AfxMessageBox("failed");
    return 0;
}
m_rfile.Write((LPCTSTR)str0,str0.GetLength());
// 保存显示数据
m_rfile.Write((LPCTSTR)m_strReceive,m_strReceive.GetLength());
m_rfile.Flush();
m_rfile.Close();  //关闭文件