音频/视频/图片 的文件都比较多
如此而已
为了避免判断很多次,可以使用统一的方式
定义一个字符串,将所需要识别的后缀连接起来,并且中间增加一些分割的符号
例如:const std::wstring CHCFileBrowserPage::m_strAudioSuffi = _T(".mp3.mp2.wav.aac.ogg.au.wma.flac.m4a.ac3.");
然后通过字符串查找的方式确定是哪种类型的文件
void CHCFileBrowserPage::ClassifyFile(const HCString& strFileName)
{
int nCurrentPos = (int)strFileName.rfind(_T('.'));
if (nCurrentPos != HCString::npos)
{
HCString strSuffi;
strSuffi.append(strFileName, nCurrentPos, strFileName.size() - nCurrentPos);
strSuffi += _T('.');
ToLower(strSuffi);
if (strSuffi.size() >= 3)
{
if (m_strAudioSuffi.find(strSuffi.c_str(), 0) != HCString::npos)
{
m_AudioFileVec.push_back(strFileName);
}
else if (m_strVideoSuffi.find(strSuffi.c_str(), 0) != HCString::npos)
{
m_VideoFileVec.push_back(strFileName);
}
else if (m_strImageSuffi.find(strSuffi.c_str(), 0) != HCString::npos)
{
m_ImageFileVec.push_back(strFileName);
}
else
{
m_OtherFileVec.push_back(strFileName);
}
}
}
}
如此而已