您的位置:首页 > 其它

查找exe同在一个文件夹下的Voices文件夹下的某个MP3是否存在

2010-12-28 20:20 302 查看
Code:

void LoadVoice(TCHAR *lpName)

{

TCHAR appPath[MAX_PATH];



// 获取exe文件夹路径

GetAppPath(appPath,MAX_PATH);



// 获取插件文件夹路径

TCHAR pluginsPath[MAX_PATH];

wsprintf(pluginsPath,"%s//Voices",appPath);



//

TCHAR pluginsPattern[MAX_PATH];

// 文件夹下所有的mp3文件

wsprintf(pluginsPattern,"%s//*.mp3",pluginsPath);



// 存放文件信息

WIN32_FIND_DATA fileinfo;



// 找到第一个文件

HANDLE hFile=FindFirstFile(pluginsPattern,&fileinfo);

DWORD errorcode = 0;



// 定义一个flag为找到的标志

BOOL ifCanFind = FALSE;

while(hFile!=INVALID_HANDLE_VALUE && errorcode!=ERROR_NO_MORE_FILES)

{



TCHAR fileName[MAX_PATH*2];

TCHAR lpVoiceName[MAX_PATH];



// 初始化lpVoiceName

ZeroMemory(lpVoiceName, sizeof(lpVoiceName));

TCHAR *pLastSlash = strrchr(fileinfo.cFileName, '.');



// printf(pLastSlash);

// 得到文件的名称如One.mp3得到One

TCHAR *lp = fileinfo.cFileName;

// 从fileinfo.cFileName中复制n个字符到lpVoiceName中

strncpy(lpVoiceName, fileinfo.cFileName, pLastSlash - fileinfo.cFileName);

// fileinfo.cFileName 的全全文件路径

wsprintf(fileName,"%s//%s",pluginsPath,fileinfo.cFileName);



// 判断是歌声名称是否与声音文件名匹配,如果匹配进行操作

if (0 == strcmp(lpName, lpVoiceName))

{

// AfxMessageBox(lpVoiceName);

// PlayVoice(fileName);

// Sleep(200);

// StopVoice(fileName);

printf("Find out the %s ok/n", lpName);

ifCanFind = TRUE;

break;

}



// 否则就查找下一个文件

else

{

FindNextFile(hFile,&fileinfo);

errorcode=GetLastError();

}

}

if (FALSE == ifCanFind)

printf("Can't find the same mp3!/n");

FindClose(hFile);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐