2 dxskx dxskx 于 2016.03.19 12:29 提问

FindFirstFile函数和c语言遍历文件问题 20C

#include
#include
#include
#include

void main()
{
WIN32_FIND_DATA ffd;

//TCHAR szDir[MAX_PATH];

HANDLE hFind = INVALID_HANDLE_VALUE;

hFind = FindFirstFile("C:\\windows\\*", &ffd);

if (INVALID_HANDLE_VALUE == hFind)
{
    printf("没有找到文件");
}

// List all the files in the directory with some info about them.
char str[100] = { 0 };
do
{
    if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
        if (ffd.cFileName[0] != '.')
        {
            sprintf(str, "%s", ffd.cFileName);
            printf("%s\n", str);
        }
    }

} while (FindNextFile(hFind, &ffd) != 0);


FindClose(hFind);
system("pause");

}

这代码应该遍历文件夹下所有的文件和目录的,为什么我输入任何一个路径都显示没有找到文件啊,求大神帮忙

1个回答

caozhy
caozhy   Ds   Rxr 2016.03.19 14:21

换一个用户的目录,或者给你的程序管理员权限。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用FindFirstFile和FindNextFile查找文件或遍历文件夹
FindFirstFile()根据文件名查找文件,函数执行成功返回一个搜索句柄,出错则返回INVALID_HANDLE_VALUE常数,查找结束应该用FindClose函数关闭搜索句柄。函数原型: HANDLE WINAPI FindFirstFile( _In_   LPCTSTR lpFileName, _Out_  LPWIN32_FIND_DATA lpFindFileDat
C/C++ 利用FindFirstFile()和FindNextFile() 历遍指定目录的所有文件
本文利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件,最基础的历遍所有文件。一下代码尚无法解决文件名为中文时的乱码问题,以及无法分别无后缀的文件名和文件夹名的区别。 FindFirstFile()用于获得指定目录的第一个文件。其原型为: HANDLE WINAPI FindFirstFile( _In_ LPCTST
FindFirstFile 函数要注意多字节字符问题
本来想搞搞FindFirstFile 函数的,写个代码把
利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
本文利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件,最基础的历遍所有文件。一下代码尚无法解决文件名为中文时的乱码问题,以及无法分别无后缀的文件名和文件夹名的区别。 FindFirstFile()用于获得指定目录的第一个文件。其原型为: lpFileName 用于指定搜索目录和文件类型,可以用通配符,初次使用需要注意 \ 需要用转义字符表达
FindFirstFile、FindNext递归遍历硬盘的文件
原文地址:http://hi.baidu.com/littlestupid/item/f87dbeb25d37b394194697df #include #include using namespace std; bool Search(char *Path,char *File); bool main() { Search("D:","2.txt"); retu
FindFirstFile FindNextFile FindClose使用
TCHAR szFind[MAX_PATH] = _T("\\CF Card"); TCHAR cFileName[MAX_PATH] = { 0 }; WIN32_FIND_DATA stFindFileData; wcscat(szFind, _T("\\*.*")); //这里一定要指明通配符,不然不会读取所有文件和目录 HANDLE hFind = FindFirs
C/C++遍历文件和目录
C/C++遍历文件夹要用到_finddata_t结构体,函数_findfirst、_findnext和_fineclose,它们都定义在头文件中,下面介绍具体如何使用。   结构体_finddata_t是用来存储文件各种信息的,其中成员变量分别为 Unsigned atrrib:文件属性的存储位置,它存储一个unsigned单元,用于表示文件的属性。文件属性是用位表示的,主要有以下一些:_A
使用FindFirstFile,FindNextFile遍历一个文件夹
原网址:http://www.cnblogs.com/chenkunyun/archive/2012/03/24/2415727.html void TraverseFolder(LPCTSTR lpPath) {     TCHAR szFind[MAX_PATH] = {_T("\0")};     WIN32_FIND_DATA findFileData;
C++遍历文件夹下的所有文件
使用C++遍历文件夹下的所有文件,FindFirstFile和FindNextFile的使用方法。
FindFirstFile、FindNextFile和FindClose
在开发软件的过程里,经常需要维护目录里的数据。比如在开发银行的信用卡系统里,由于每天创建的LOG非常多,那么一个很大的硬盘,在6个月后,就占用了很多空间。这时就有这样的一个需求,把所有超过6个月的LOG数据定期删除掉。要实现这个功能就得遍历整个目录,把文件名称和文件创建的时间都超过6个月时间的文件删除掉。因此,就需使用到下面的API函数FindFirstFile和FindNextFile来实现这样