VC保存文件的参考代码

发表于:2007-07-14来源:作者:点击数: 标签:
void CDiaryDlg::OnButtonSave() { // TODO: Add your control notification handler code here // 这种用bSave的方式来判断是否保存过,这样不好,待考虑。 // if (!bSave) { int iYear = m_cMonthView.GetYear(); int iMonth = m_cMonthView.GetMonth(); i
void CDiaryDlg::OnButtonSave()
{
// TODO: Add your control notification handler code here
// 这种用bSave的方式来判断是否保存过,这样不好,待考虑。

// if (!bSave)
{
  int iYear = m_cMonthView.GetYear();
  int iMonth = m_cMonthView.GetMonth();
  int iDay = m_cMonthView.GetDay();

  CString sFileName;
  sFileName.Format("%d-%d-%d.txt", iYear, iMonth, iDay);

  CFileDialog dlg(FALSE, "txt", sFileName,
   OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,
   "文本文件(*.txt)|*.txt||", this);
  dlg.m_ofn.lpstrTitle = _T("保存日记文件");
  if (dlg.DoModal() == IDOK)
  {
   // 实现存盘
   CString fileName = dlg.GetPathName();
   CFile file(fileName, CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
   CArchive ar(&file, CArchive::store|CArchive::bNoFlushOnDelete);
   UpdateData(TRUE);
   ar<<m_sComment;
   ar.Close();

   bSave = TRUE;
   m_sFileName = fileName;
  }
}
/*
else
{
  CFile file(m_sFileName, CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
  CArchive ar(&file, CArchive::store|CArchive::bNoFlushOnDelete);
  UpdateData(TRUE);
  ar<<m_sComment;
  ar.Close();
}
*/
}

原文转自:http://www.ltesting.net