CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,NULL);
那么fileDlg.GetFileName()返回什么类型的数据,如果cpoyfilename=fileDlg.GetFileName(),cpoyfilename为什么类型。
还有fileDlg.GetPathName()。

解决方案 »

  1.   

    好像是CString,我忘了。不过,MFC中用CString总不会有错
      

  2.   

    都是CString 类型的,LZ可以查看帮助
      

  3.   

    GetFileName返回文件名,包括标题名和扩展名。
    如:C:\Test\File.txt 则 GetFileName 返回 File.txt。
      

  4.   

    CFileDialog::GetFileNameCString GetFileName( )const;返回值:文件名。说明:
    调用此成员函数获取输入对话框中的文件名,文件名包括主文件名和扩展名。例如,对于文件C:\FILES\TEXT.DAT,GetFileName会返回TEXT.DAT。
    如果m_ofn.Flags具有OFN_ALLOWMULTISELECT标志设置,则应用GetStart-Position 和GetNextPathName成员函数获取一个文件路径名。CFileDialog::GetPathNameCString GetPathName( )const;返回值:文件的全路径。说明:
    调用此成员函数获取输入到对话框中文件的全路径,路径包括文件标题和文件的全部目录路径。如果对文件“C:\FILES\TEXT.DAT”调用此成员函数,GetRathMane则会返回“C:\FILES\TEXT.DAT”。
    如果m_ofn.Flags具有OFN_ALLOWMULTISELECT标志设置,则此字符串包含一系列以空终止符结束的字符串,第一个为选中文件组的目录路径,然后是用户选中的文件。因此,可以用GetStartPosition和GetNextPathName成员函数获取列表中的下一个文件名。
      

  5.   

    Cstring copyfilename;
    CFileDialog fileDlg;
    copyfilename=fileDlg.GetFileName();那为什么 MessageBox(copyfilename=fileDlg.GetFileName();,NULL,MB_ICONEXCLAMATION);没有显示内容;
    而MessageBox(fileDlg.GetFileName(),NULL,MB_ICONEXCLAMATION);就显示文件名呢