音頻/視頻/圖片 的文件都比較多
如此而已
爲了避免判斷很多次,可以使用統一的方式
定義一個字符串,將所需要識別的後綴連接起來,並且中間增加一些分割的符號
例如: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);
}
}
}
}
如此而已