今天在根据文件名的拓展名进行文件分类的时候,发现文件的拓展名是不区分大小写的,所以要根据拓展名进行简单分类的话,就需要一个string不区分大小写查找的方法。
size_t FindNoCase(string strSource, char* szTarget) { if(strSource.empty()) { return string::npos; } string strSub = szTarget; if (strSub.empty()) { return string::npos; } for (string::iterator it = strSource.begin(); it != strSource.end(); ++it) { *it = tolower(*it); } for (string::iterator ite = strSub.begin(); ite != strSub.end(); ++ite) { *ite=tolower(*ite);//do not change szTarget context. } return strSource.find(strSub); }