隐袭战龙 发表于 2014-7-12 21:50:14

为什么FindFirstFile找不到文件?

代码如下std::string szDir = ".\\Users\\*.dat";
        WIN32_FIND_DATA stFindFileData;
        HANDLE hFindFileHandle;
        wchar_t *szTemp = new wchar_t[ szDir.size() ];
        MultiByteToWideChar( CP_ACP , 0 , szDir.c_str() , szDir.size() , szTemp , sizeof( szTemp ) );
        hFindFileHandle = FindFirstFile( szTemp , &stFindFileData );
        if( hFindFileHandle == INVALID_HANDLE_VALUE )
        {
                std::cout << "没有存档!";
                _getch();
                return false;
        }
        FindClose( hFindFileHandle );程序目录下的Users文件夹下明明有Hello.dat和hi.dat,可是为什么一直说“没有存档”?甚至换成绝对路径也不管用
请大神们帮忙,谢了!

oggplay 发表于 2014-7-13 00:43:20

本帖最后由 oggplay 于 2014-7-13 00:44 编辑

寻找文件所在位置,取决于你的系统设定及编译器设定
应急的话,把你的2个文件拷贝到你的程序所在文件夹,并且去掉路径。

隐袭战龙 发表于 2014-7-13 10:56:34

oggplay 发表于 2014-7-13 00:43
寻找文件所在位置,取决于你的系统设定及编译器设定
应急的话,把你的2个文件拷贝到你的程序所在文件夹, ...

好,我试试,但是有一点,用绝对路径也是没用的啊

隐袭战龙 发表于 2014-7-13 11:04:45

oggplay 发表于 2014-7-13 00:43
寻找文件所在位置,取决于你的系统设定及编译器设定
应急的话,把你的2个文件拷贝到你的程序所在文件夹, ...

不行的,放在本目录下也是不行的
我还有一个函数,是复制.\\LevelUpInfo\\0.dat到.\\Users\\0.dat
但是每次都说找不到文件,是没有#undef UNICODE的原因吗?
页: [1]
查看完整版本: 为什么FindFirstFile找不到文件?