|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 jenrya 于 2013-5-9 06:38 编辑
void test()
{
/**------------------------------_findfirst-------------------------------------------*/
// _finddata_t fileinfo;
// long handle = _findfirst("ShorTcut\\*.*", &fileinfo);
// while(handle != 0)
// {
// printf("%s\n", fileinfo.name);
// if(_findnext(handle, &fileinfo))
// break;
// }
// _findclose(handle);
// --------------------------------------------------------------------------------------------
// printf("\n\n");
// handle = _findfirst("ShorTcut\\常用工具\\*.*", &fileinfo);
// while(handle != 0)
// {
// printf("%s\n", fileinfo.name);
// if(_findnext(handle, &fileinfo))
// break;
// }
// _findclose(handle);
/**------------------------------FindFirstFile-------------------------------------------*/
int i = 0;
int err = 0;
int index = 0;
WIN32_FIND_DATA wfd = {0};
HANDLE handle = FindFirstFile("ShorTcut\\*.*", &wfd);
while(INVALID_HANDLE_VALUE != handle && err != ERROR_NO_MORE_FILES)
{
if(wfd.cFileName[0] != '.' && wfd.cFileName[0] != '..')
{
printf("%s\n", wfd.cFileName);
}
FindNextFile(handle, &wfd);
err = GetLastError();
}
FindClose(handle);
// --------------------------------------------------------------------------------------------
handle = FindFirstFile("ShorTcut\\常用工具\\*.*", &wfd);
while(INVALID_HANDLE_VALUE != handle && err != ERROR_NO_MORE_FILES)
{
if(wfd.cFileName[0] != '.' && wfd.cFileName[0] != '..')
{
printf("%s\n", wfd.cFileName);
}
FindNextFile(handle, &wfd);
err = GetLastError();
}
FindClose(handle);
}
两个函数 _findfirst 两次输出正常,
而 FindFirstFile 则只有第一次输出正常,
第二次只找到一个“.”文件后GetLastError() = 18后退出。非常不解,求指教!
|
|