char szFind[MAX_PATH] = {};
strcpy_s(szFind, MAX_PATH, m_szDir);
strcat_s(szFind, "\\*.*"); WIN32_FIND_DATA wfd;
HANDLE hFind = ::FindFirstFile(MultiByteToWideChar(szFind), &wfd);
if (INVALID_HANDLE_VALUE != hFind)
{
while (TRUE)
{
if (wfd.cFileName[] != _T('.'))// 不是当前目录或者父目录
{
printf("...\n");
}
if (!::FindNextFile(hFind, &wfd)) break;
}
} FindClose(hFind);
其中MultiByteToWideChar(char*)函数是用来将char数组转化成wchar_t字符串的。
wchar_t* MultiByteToWideChar(char* ch)
{
int num = MultiByteToWideChar(,,ch,-,NULL,);
wchar_t *wide = new wchar_t[num];
MultiByteToWideChar(,,ch,-,wide,num);
return wide;
}