| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
只看楼主 加入收藏
w414009984
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
代码如下
 AnsiString c1;
 AnsiString strtemp;
 HANDLE hFile;
 WIN32_FIND_DATA fileinfo;
 DWORD errorcode = 0;

    hFile=FindFirstFile(Edit1->Text.c_str(),&fileinfo);
    while(hFile!=INVALID_HANDLE_VALUE&&errorcode!=ERROR_NO_MORE_FILES)
    {
    strtemp=fileinfo.cFileName;
    FindNextFile(hFile,&fileinfo);
    errorcode=GetLastError();
    }
    if(errorcode==ERROR_NO_MORE_FILES)
    {
     ShowMessage("检索结束");
    }
    CloseHandle(hFile);

Edit1->Text.c_str()为该文件夹地址。
我有两个问题第一个是进行遍历时strtemp获取的文件名前两次分别为"."   ".."  之后才是文件夹下的文件的文件名这该怎么修改?
第二个问题是执行CloseHandle(hFile);后会报错提示错误为"External exception c0000008"   跪求大家帮忙解决
搜索更多相关主题的帖子: 文件夹 
2010-12-29 20:41
megadeath
Rank: 4
等 级:业余侠客
帖 子:24
专家分:260
注 册:2008-8-29
收藏
得分:15 
很久不用C++ Builder了,以下是用WinSDK 方式代码片段,解答你的第一个问题:
程序代码:
    TCHAR szFileName[MAX_PATH] = {0};
    WIN32_FIND_DATA stFind = {0};
    HANDLE hFind = NULL;
    hFind = FindFirstFile(PathCombine(szFileName, lpDir, lpFile), &stFind);
    if (hFind != INVALID_HANDLE_VALUE)
    {
        do
        {
            if (_tcsicmp(stFind.cFileName, _T(".")) && _tcsicmp(stFind.cFileName, _T("..")))
            {
                // 除了 . 和 .. 以外的文件
            }
        } while (FindNextFile(hFind, &stFind));
        FindClose(hFind);
    }

第二个问题手头上暂没有C++ Builder,自己追一下吧。
2010-12-30 00:00
w414009984
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-22
收藏
得分:0 
回复 2楼 megadeath
很感谢  问题解决了   但我还有个问题  为什么closehandle不行呢?
2010-12-30 09:23
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:5 
以下是引用w414009984在2010-12-30 09:23:01的发言:

很感谢  问题解决了   但我还有个问题  为什么closehandle不行呢?

CloseHandle是减少Handle引用计数,你Create了吗?

想象力征服世界
2010-12-30 16:37
快速回复:求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023930 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved