char* findImageTypeGDAL( char *pDstImgFileName)
{
char *dstExtension = strlwr(strrchr(pDstImgFileName,'.') + 1);
char *Gtype = NULL;
if (0 == strcmp(dstExtension,"bmp")) Gtype = "BMP";
else if (0 == strcmp(dstExtension,"jpg")) Gtype = "JPEG";
else if (0 == strcmp(dstExtension,"png")) Gtype = "PNG";
else if (0 == strcmp(dstExtension,"tif")) Gtype = "GTiff";
else if (0 == strcmp(dstExtension,"gif")) Gtype = "GIF";
else Gtype = NULL;
return Gtype;
}
char * char_url = m_url.GetBuffer();
char * fileExt = strlwr(strrchr(char_url,'.') + 1);
CString tem = fileExt;
今天又发现另外一种方法2015.1.4
直接用CString自带的方法
pos = imagetitle.ReverseFind('.');
imagetitleTem = imagetitle.Mid(pos+1);
CString 的mid 方法
CStringT Mid( int iFirst, int nCount ) const; CStringT Mid( int iFirst ) const;iFirst
第一个字符的从零开始的索引。要包括在这条提取的子字符串的此 CStringT 对象的。
提取的字符数从此 CStringT 对象。 如果未提供此参数,则字符串的其余部分中提取。
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString; CAtlString s(_T("abcdef")); ASSERT(s.Mid(2, 3) == _T("cde"));
CStringT::Right
CStringT Right( int nCount ) const;
提取的字符数从此 CStringT 对象。
CAtlString s(_T("abcdef")); ASSERT(s.Right(2) == _T("ef"));
CStringT::Left
CStringT Left( int nCount ) const;
从此 CStringT 对象中提取的字符的数量。
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString; CAtlString s(_T("abcdef")); ASSERT(s.Left(2) == _T("ab"));
参考
CStringT Class