通过后缀判断一个文件是什么文件(音频或者视频)

音频/视频/图片 的文件都比较多

为了避免判断很多次,可以使用统一的方式

定义一个字符串,将所需要识别的后缀连接起来,并且中间增加一些分割的符号

例如: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);
			}
		}
	}
}

如此而已

你可能感兴趣的:(编程技巧与实现)