VC里如何批量处理文件夹里的文件

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:48:01
小弟刚开始学vc,编了一个处理单个wave文件的程序,但是需要处理一个文件夹里的100+个wave文件,单纯的通过.c里的待处理文件名似乎太麻烦了,请问哪位大侠知道有什么更好的方法可以批量处理这些数据,谢谢了.

主要思路就是在文件夹里搜索所有符合条件的文件,然后在循环里一个一个的处理就可以了。以下是参考代码:

//参数为指定的文件夹
void Test(char *szDataFilePath)
{
char szSearchFile[256];//搜索文件名:path + "\\" + "*.wav"
char szFile[256]; //搜索到的文件全路径名:path + "\\" + 文件名

WIN32_FIND_DATA findData;
HANDLE hFile;

//搜索文件名:path + "\\" + "*.wav"
sprintf(szSearchFile, "%s\\*.wav"), szDataFilePath);
try
{
// 获取该文件夹里的第一个wav文件
hFile = FindFirstFile(szSearchFile, &findData);
if (hFile != INVALID_HANDLE_VALUE)
{
sprintf(szFile, "%s\\%s", szDataFilePath, findData.cFileName);

DealWave(szFile); //这是你处理单个wave文件的函数

// 循环查找下一个wav文件
while (FindNextFile(hFile, &findData))
{
sprintf(szFile, "%s\\%s", szDataFilePath, findData.cFileName);