遍历目录下所有wav并播放

来源:互联网 发布:鳄鱼肉 知乎 编辑:程序博客网 时间:2024/06/11 06:50
#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;}
0 0