下面是我的保存程序!
void CLOOKDATA::OnButtonsave() 
{
static char BASED_CODE szFilter[]="Data Files(*.txt)|*.txt|All Files(*.*)|*.*||";
CFileDialog dlg(FALSE,NULL,NULL,OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES,szFilter,this);
if(dlg.DoModal()==IDOK)
{
UpdateData(TRUE);
CFile file;
file.Open(dlg.GetPathName(),CFile::modeWrite);
CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDITLOOKDATA);
char Buffer[1024];
pEdit->GetWindowText(Buffer,1024);
file.Write(Buffer,m_slookdata.GetLength());
file.Close();
}
delete dlg;
}
我想实现如下功能:
1>能创建当前目录下不存在的文本文件(上面的不可创建新的文本文件),按保存可把內容写入新创建的文件中!
2>如果要保存数据的文本文件內容不为空,写入新数据时不是覆盖(上面的是覆盖)而是清空再写入!麻烦大家了!

解决方案 »

  1.   

    file.Open(dlg.GetPathName(),CFile::modeCreate | CFile::modeWrite );
      

  2.   

    CFileDialog dlg(FALSE,NULL,NULL,OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES|OFN_CREATEPROMPT,szFilter,this);如果输入的文件名不存在就会提示是否创建
      

  3.   

    modeCreate|modeWrite
    如果指定的文件不存在创建新文件
    如果存在就清空
      

  4.   

    为什么保存的文件不是txt文件?
      

  5.   

    还有几点疑问?
    1>保存的文件不是txt文件
    2>我想使打开保存对话框时,文件名输入中不为空,比如为FM
    3>想返回保存文件的文件名给一静态文本!分不够到时再加,先谢谢楼上几位兄弟了!
      

  6.   

    static char BASED_CODE szFilter[]="Data Files(*.txt)|*.txt|All Files(*.*)|*.*||";
    CFileDialog dlg(FALSE,NULL,NULL,OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES,szFilter,this);你把txt改成FM就可以了啊~!~