简介本文向大家介绍一个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);
}
}
本文向大家介绍一个C++实战项目:基于Duilib的CEF3中C++与JS函数互相调用示例,主要涉及开发技术点为DuiLib界面开发、谷歌浏览器CEF插件开发、C++与JavaScript的相互调用,具有一定的C++实战价值,感兴趣的朋友可以参考一下。
OpenMP是一种用于共享内存并行系统的多线程程序设计方案,本文向大家介绍C++并行计算之OpenMP快速入门,感兴趣的朋友可以参考一下。
本文向大家介绍一个C++实战项目:C++11实现多线程下载操作类,很多时候我们需要同时在网络上下载文件,那么就需要一个类来管理多线程下载,提高下载速度,具有一定的C++实战价值,感兴趣的朋友可以参考一下。
本文向大家介绍一个C++实战项目:C++实现MD5、DES加密,主要涉及MD5加密、DES加解密算法,具有一定的C++实战价值,感兴趣的朋友可以参考一下。
一般好的软件程序是不应该占用太多CPU时间和内存空间的,一般在自己的学习过程中,我们常常忽略这一点,虽然功能实现没有问题,但是程序占用太多CPU时间,这在实际开发中是不允许的,一个好的程序员也应该注意这个问题。本文就CPU使用率问题做一些简单介绍,为开发稳定健壮的程序提供参考。
本文向大家介绍一个C++实战项目:C++制作一个简单的程序依赖DLL打包工具,有时候我们需要对某个程序进行打包,却不知道该程序依赖哪些动态库,这个工具可实现程序的一键打包功能,具有一定的C++实战价值,感兴趣的朋友可以参考一下。