我想根据用户选择的文件后缀名来调用不同的函数,就用了_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为零
为什么??
在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为零
为什么??
再问一个
如何将char* 转为char[n]?
我有一个CString a,
struct {
.....
char name[512];
}b
如何将CString a中的内容放到name 里去?
谁解决了这个问题,就给分,