设为首页 加入收藏

TOP

13.9.3 将接收到的数据保存到文件中
2013-10-07 14:37:04 来源: 作者: 【 】 浏览:64
Tags:13.9.3 收到 数据 保存 文件

13.9.3  将接收到的数据保存到文件中

将接收到的数据保存到文件中是工具栏特有的功能,实现函数是OnFile()。该函数实现将调试器当前显示接收信息编辑框中的内容,保存到用户指定的文本文件中,实现如下:

  1. 01  void CComElvesDlg::OnFile()   
  2. 02  {  
  3. 03      CFileDialog dlg(FALSE, "txt", ".txt",  
  4. 04                      OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT,"  
  5. 05                      Aes Files(*.txt)|*.txt");   //保存文件对话框  
  6. 06      if ( dlg.DoModal()!=IDOK )                  //用户取消保存文件  
  7. 07      {  
  8. 08          return;  
  9. 09      }  
  10. 10      CString strPath=dlg.GetPathName();          //获取文件的绝对路径  
  11. 11      //获取调试界面上显示接收数据区域内的数据  
  12. 12      UpdateData(TRUE);  
  13. 13      int nLength;  
  14. 14      nLength = strPath.GetLength();              //获取接收数据的长度  
  15. 15      CFile m_rFile;  
  16. 16      LPCSTR  lpszPath =strPath;  
  17. 17      SetCurrentDirectory( lpszPath );  
  18. 18      //打开用户指定的文件  
  19. 19      if(!m_rFile.Open(lpszPath,CFile::modeCreate | CFile::modeWrite ))   
  20. 20      {   //打开失败  
  21. 21          AfxMessageBox( "创建记录文件失败!");  
  22. 22          return;  
  23. 23      }  
  24. 24      //将数据写入文件  
  25. 25      CTime t = CTime::GetCurrentTime();  
  26. 26      CString str=t.Format("%Y年%m月%d日%H时%M分%S秒\r\n");  
  27. 27      m_rFile.Write((LPCTSTR)str,str.GetLength());  
  28. 28      m_rFile.Write((LPCTSTR)m_DRData,m_DRData.GetLength());  
  29. 29      m_rFile.Flush();  
  30. 30      m_rFile.Close();  
  31. 31  }  

【代码解析】

在第3~5行定义了一个只保存txt类型文件的另存为文件对话框。第6行显示这个保存文件对话框。如果用户没有选择将要保存的文件,则在第7行直接退出。第10行获取用户选择保存文件的全路径。第12行获取当前调试器界面上显示接收数据编辑框中所有的数据信息,并在第14、15行获取这个数据的长度。第17行将当前保存文件的路径设置为当前路径。第19行打开用户将要保存的文件,如果打开失败则在第21行提示失败信息,并在第22行退出。如果打开成功则在第27行获取当前时间,并在26行将当前时间格式化为一个字符串,然后在第27行将当前时间写入文件。然后在第28行将获取的接收数据写入文件。在第29行完成写入工作,并在第30行关闭文件。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇15.2.1 Windows常用系统性能计数.. 下一篇15.2.3 本地监控示例(CPU使用率)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: