后缀名判断算法
//========================================================================
//TITLE:
// 后缀名判断算法
//AUTHOR:
// norains
//DATE:
// Saturday 29-April-2006
//========================================================================
采用MFC框架的CString可以非常快速完成,但如果采用的是标准C++,则没那么直接方便.下面是一个判断后缀名的算法,绝对不是效率最高的,也绝对不是最严谨的,但可能是比较简单易懂的.
bool CheckExtendName(const char *pszStr,const char *pszExd)
{
char *pt=(char*)pszStr;
pt +=strlen(pszStr);
while(pt!=(char*)pszStr && *pt-- !='.');
if(*(++pt) !='.')
return false;
pt++;
//将比较字符和传入的后缀名转为小写
if(strcmp(_strlwr(pt),_strlwr((char *)pszExd))==0)
{
return true;
}
else
{
return false;
}
}
在程序中调用也很简单:
int main()
{
char szInFileName[80];
cin>>szInFileName;
if(CheckExtendName(szInFileName,"bmp")==true)
{
cout<<"true"<<endl;
}
else
{
cout<<"false"<<endl;
}
return 0;
}