遍历目录下所有wav并播放
2016-12-22 01:07
267 查看
#include "windows.h" #include <wchar.h> #include <locale.h> #include "mmsystem.h" #pragma comment(lib,"winmm.lib") int find_all_files(wchar_t* lpPath) { setlocale(LC_ALL, "chs"); WIN32_FIND_DATA FindFileData; wchar_t wcPath[MAX_PATH]; wcscpy_s(wcPath, lpPath); wcscat_s(wcPath, L"\\*.*"); HANDLE hFind = ::FindFirstFile(wcPath, &FindFileData); if (INVALID_HANDLE_VALUE == hFind) return -1; do { if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (wcscmp(FindFileData.cFileName, L".") != 0 && wcscmp(FindFileData.cFileName, L"..") != 0) { //发现子目录,递归之 wchar_t szFile[MAX_PATH]; wcscpy_s(szFile, lpPath); wcscat_s(szFile, L"\\"); wcscat_s(szFile, FindFileData.cFileName); find_all_files(szFile); } } else { if (wcswcs(FindFileData.cFileName, L".wav") != 0) { wchar_t szFile[MAX_PATH]; wcscpy_s(szFile, lpPath); wcscat_s(szFile, L"\\"); wcscat_s(szFile, FindFileData.cFileName); wprintf(L"%s\n", szFile); sndPlaySound(szFile, SND_SYNC); } } } while (::FindNextFile(hFind, &FindFileData)); ::FindClose(hFind); return 0; } int main(int argc, char* argv[]) { find_all_files(L"C:\\Windows\\Media"); system("pause"); return 0; }
相关文章推荐
- 递归遍历 SD 卡目录下的所有音乐文件,并点击条目后进入相应的播放界面
- java遍历所有目录和文件
- 使用Shell遍历目录及其子目录中的所有文件方法
- 一个遍历目录下包含某些内容的所有文件的类
- PHP遍历某个目录下的所有文件和子文件夹
- PHP遍历并打印指定目录下所有文件实例
- java遍历目录下的包括子目录下的所有文件
- php源码之遍历目录下的所有的文件
- File(遍历一个目录下的所有文件)
- Java利用递归思想遍历指定目录,获取所有的文件
- PHP 遍历目录下的所有文件的方法
- java_递归遍历文件目录结构,打印所有的目录名和文件名
- C#遍历目录中所有文件
- PHP采用自定义函数实现遍历目录下所有文件的方法
- java遍历一个目录中不包括当前目录的其他所有父级目录
- windows系统下使用FindFirstFile 和 FindNextFileA遍历某目录下的所有文件(c++编写)
- Java遍历指定目录下的所有文件
- 递归遍历目录下所有文件
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)
- (转)PHP自定义遍历目录下所有文件dir(),readdir()函数