我想根据用户选择的文件后缀名来调用不同的函数,就用了_splitpath:
在OnFileOpen()里
static char szFilter[] = "BMP Files(*.BMP)|*.BMP|JPG Files(*.jpg)|*.jpg||";
CFileDialog FileDlg( TRUE, NULL, NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter );
    if( FileDlg.DoModal() == IDOK )
{
                  const char* lpszPathName;
lpszPathName = FileDlg.GetPathName();
}
       char* m_ext = new char[_MAX_EXT];
       _splitpath(lpszPathName,NULL,NULL,NULL,m_ext);
可是我发现lpszPathName里的值都是-35,而m_ext为零
为什么??