VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 570|回复: 3

我刚入门C++写了个遍历搜索出现了问题求助

[复制链接]
51_avatar_middle
最佳答案
0 
在线会员 发表于 2018-11-11 21:42:02 | 显示全部楼层 |阅读模式
搜索都正常,但是显示窗口出现./././调试也看不出哪里来的。求大神们看下问题出在哪里
#include <Windows.h>
#include <string>

//判断文件夹最后是否右"\\"没有就加,有就返回
std::wstring MakeStandardDirName(const std::wstring &wstrDirName)
{
        if (wstrDirName.back() != '\\')
        {
                return wstrDirName + L"\\";
        }
        else
        {
                return wstrDirName;
        }
       
}
unsigned nNum = 0;
//写递归查找
unsigned MyFileFind(std::wstring wstrBeginDir, std::wstring wstrSearch,std::wstring wstrFilte=L"*.*")
{
        WIN32_FIND_DATAW fileFind = { 0 };//文件查找结构体
        HANDLE hFileFind = FindFirstFileW((MakeStandardDirName(wstrBeginDir)+wstrFilte).c_str(), &fileFind);//创建一个查找的句柄包含路径和查找结构体
        do
        {
                if (wcscmp(fileFind.cFileName, L".") == 0)
                        connect;
                if (wcscmp(fileFind.cFileName, L"..") == 0)
                        connect;
                //0x22   0x10
                if (fileFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//判断是不是文件夹
                {
                        MyFileFind(MakeStandardDirName(wstrBeginDir) + (fileFind.cFileName), wstrSearch);
                }
                else
                {
                        if (wcsstr(fileFind.cFileName, wstrSearch.c_str()) != nullptr)
                        {
                           printf("Searched File In %ls\r\n",(MakeStandardDirName(wstrBeginDir)+fileFind.cFileName).c_str());
                           nNum++;
                        }
                }
        } while (FindNextFileW(hFileFind, &fileFind));//循环搞事
        return nNum;
}

int main()
{
        //2个方法
        std::wstring wstrBeginDirName = L"C:\\";//定义wstring宽字符,2字节
        std::wstring wstrSearchName = L"ntdll";//定义wstring宽字符,2字节
        unsigned nFindNum = MyFileFind(wstrBeginDirName, wstrSearchName);
        //MyFileFind(wstrBeginDirName, wstrSearchName);
        return 0;
}




上一篇:浏览器http协议下载
下一篇:VS 重复编译问题
51_avatar_middle
最佳答案
8 
online_admins 发表于 2018-11-11 22:05:47 | 显示全部楼层
低级错误,两个 connect 改成 continue 就可以了!

另外,求助帖子最好还是发布到提问专区,虽然要那么3个驿站币,看楼主的驿站币也不够了,可以每天来签到啊!在向论坛求助索取的同时,也希望多多支持VC驿站啊!
97_avatar_middle
最佳答案
0 
在线会员 发表于 2018-11-12 09:39:56 | 显示全部楼层
connect 是有点骚
51_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2018-11-14 06:48:04 | 显示全部楼层
谢谢老大们。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-20 18:43

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表