方法多了
可以自己写一个类呀
但为了省事
Mfc不是更好吗

解决方案 »

  1.   

    GetOpenFileName
    The GetOpenFileName function creates an Open dialog box that lets the user specify the drive, directory, and the name of a file or set of files to open. BOOL GetOpenFileName(
      LPOPENFILENAME lpofn   // initialization data
    );
      

  2.   

    我用了CFileDialog之后碰到了一个非常奇怪的问题,描述如下:
    (1)选择了一个文件
    (2)把文件名显示在Edit Box 中
           .
           .
           .
    (n-1)把文件名显示ListView中
    (n)把ListView中的内容保存到文件问题出在第(n)步, 无法保存ListView中的内容。我刚开始还以为是保存那一块出了问题,后来发现,如果不用CFileDialog而用只用手工在Edit Box中输入,那么是可以正确保存的。想了好几天没有结果,只好不用CFileDialog,看看用其他的文件选择方法能不能解决问题。先谢谢大家了!!
      

  3.   

    没有看懂! 你一边显示一边保存不行吗?  非要显示在LISTVIEW后在保存吗?直接得到文件名后,就进行保存!  -_-#
      

  4.   

    我得到文件名后还要为该文件定义一些其他的属性,然后在LISTVIEW中显示文件名和文件属性。这个问题很怪,有兴趣的话大家可以自己作个试验。
      

  5.   

    我调试好长时间,发现调用了CFileDialog后再调用CFile来保存文件都不能成功。不知道是什么原因?
      

  6.   

    我调试了一下,下面的代码好使!
    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Txt Files (*.txt)|*.txt",NULL);
    if(dlg.DoModal()!=IDOK)
    {
    return;
    }
    m_edit1=dlg.GetPathName();
    CFile f;
    CString f_name;
    f_name.Format("..\\newname.dic");
    f.Open(f_name,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
    f.Write(m_edit1,m_edit1.GetLength());
    f.Close();你自己 在看看!
      

  7.   

    to wjyasd:我的调试结果是:用CFile可以Open一个文件,在Write时也没有报告错误,但是检查保存后的文件发现没有预先期待的东西。另外,我确信每一步的操作没有问题。
      

  8.   

    to wjyasd:谢谢!!我赶紧试一下你的代码
      

  9.   

    to wjyasd:
    还是不行,我写的代码中保存数据的函数和取得文件名的函数不在同一个类中,但是这不应该有什么问题呀!怎么办?我想干脆把Browse功能去掉算了,但是心里有问题没解决就是不爽。
    to jiangping_zhu:
    我检查了,直到调用Write之前,要写的数据都是对的。
      

  10.   

    那用Write之后呢?难道你的打开文件的属性没有设置吗?要不我看看你的。[email protected]
      

  11.   

    >>我的调试结果是:用CFile可以Open一个文件,在Write时也没有报告错误,
    >>但是检查保存后的文件发现没有预先期待的东西。另外,我确信每一步的操作没有问题。
    如果有这种现象的话,我只能认为你在操作文件之后,又进行了文件操作,将文件的长度截为了0。不知道这种设想是否成立?  ^&^
      

  12.   

    to wjyasd:对不起,前几天我这不能上网(说是要防止上网聊天),所以一直没能响应你的帖子。我再想想,因为整个程序很大,等我稍微整理一下,把相关部分给你发去。再次感谢!!