CFileDialog fileDlg(FALSE);
fileDlg.m_ofn.lpstrTitle="我的文件保存对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.m_ofn.lpstrDefExt="txt";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
file.Write("http://www.sunxin.org",strlen("http://www.sunxin.org"));
file.Close();
}
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
这段代码 是什么意思  大家给我解释一下??尤其是="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"这个语句 ???

解决方案 »

  1.   

    从 CFileDialog 可以得到一个你选择的文件的文件名
    fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; 
    这个过滤器就是这个对话框的下面的组合框下拉时过滤文件格式的条件
      

  2.   

    就是文件的后缀,你打开文件的时候可以选择打开txt文件,这样其他格式的文件就会被屏蔽掉
    或者选择打开所有文件
      

  3.   

    从 CFileDialog 可以得到:
      1、你选择的文件的文件名 
      2、你选择的文件的路径
      3、你选择的文件的全名(包含路径)
    fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; 
    是过滤你要选择文件的类型
      

  4.   

    "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; 主要是这个格式 很疑惑 !!大家能具体解释一下??
      

  5.   

    "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; 对话框文件类型下拉框会出现两列,分别显示 Text Files(*.txt) 和 0All Files(*.*)
    Text Files(*.txt) 对应的打开文件类型是 *.txt,也就是txt后缀的文件
    0All Files(*.*) 对应的打开文件类型是*.*,也就是所有文件
      

  6.   

    "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"
    //这个是字符串数组的格式
    //每个字符串之间以\0分隔,以\0\0表示结束。//MSDN上有详细说明
      

  7.   


    你有什么疑惑呢?MSDN上有这个格式的说明
    至于CFileDialog怎么认得这个格式?它是通过解析这个字符串来添加到那个下拉框的
    你传递的是个字符串地址给fileDlg.m_ofn.lpstrFilter,内部会搜索这个字符串直到遇到两个\0解析结束
      

  8.   

    文件扩展名的过滤器,LS的几位都解答了,具体的可以看MSDN
      

  9.   

    呵呵,就像序列化之类,MFC规定的一种格式。