C++判断文件是否为音频/视频/图片/文本等类型

2023-03-11 18:47:04 2791人已围观 48已点赞 1人已收藏

简介本文向大家介绍一个C++实战项目:C++判断文件是否为音频/视频/图片/文本等类型,感兴趣的朋友可以参考一下。

项目截图

C++判断文件是否为音频/视频/图片/文本等类型

支持多选:

C++判断文件是否为音频/视频/图片/文本等类型

核心代码

void CFileTypeIdentifyDlg::OnBnClickedOk()
{
	WORD nMaxFile = 100; // 最大选择文件数量
	CFileDialog FileDlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("所有文件 (*.*)|*.*||"), this);
	FileDlg.m_ofn.lpstrTitle = _T("选择文件");
	FileDlg.m_ofn.lpstrFile = new TCHAR[nMaxFile * MAX_PATH];
	ZeroMemory(FileDlg.m_ofn.lpstrFile, sizeof(TCHAR) * nMaxFile * MAX_PATH);
	FileDlg.m_ofn.nMaxFile = nMaxFile * MAX_PATH;
	if (FileDlg.DoModal() == IDOK)
	{
		m_ctrlFileList.SetRedraw(FALSE);
		m_ctrlFileList.DeleteAllItems();
		int iCount = 0;
		CString sTemp = _T("");

		POSITION pos = NULL;
		for (pos = FileDlg.GetStartPosition(); pos != NULL;)
		{
			CString sFilePath = FileDlg.GetNextPathName(pos);
			sFilePath.Replace(_T("\\"), _T("/"));

			sTemp.Format(_T("%d"), iCount + 1);
			m_ctrlFileList.InsertItem(iCount, _T(""));
			m_ctrlFileList.SetItemText(iCount, 1, sTemp);
			m_ctrlFileList.SetItemText(iCount, 2, sFilePath);
			m_ctrlFileList.SetItemText(iCount, 3, CCommon::GetFileName(sFilePath));
			m_ctrlFileList.SetItemText(iCount, 4, CCommon::GetFileShowText(CCommon::GetFileSize(sFilePath)));

			// 支持判断音频、视频、图片、文本类型
			sTemp = _T("其他");
			if (CCommon::IsAudioFile(sFilePath))
			{
				sTemp = _T("音频");
			}
			else if (CCommon::IsVideoFile(sFilePath))
			{
				sTemp = _T("视频");
			}
			else if (CCommon::IsImageFile(sFilePath))
			{
				sTemp = _T("图片");
			}
			else if (CCommon::IsTextFile(sFilePath))
			{
				sTemp = _T("文本");
			}
			m_ctrlFileList.SetItemText(iCount, 5, sTemp);
			iCount++;
		}

		m_ctrlFileList.SetRedraw(TRUE);
	}
}


源码下载
  • 最近更新:   2022-06-21开发环境:   Visual Studio 2015
  • 源码大小:   136.84KB下载次数:  13 

更多为你推荐