| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1938 人关注过本帖
标题:求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
只看楼主 加入收藏
w414009984
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-22
结帖率:100%
收藏
 问题点数:0 回复次数:1 
求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
求助 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:46
jssmartstar
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-1-23
收藏
得分:0 
第一个问题
好像没有办法改变他的搜索行为,只能用判断语句过滤掉“.”和 “..”

第二个问题
应该用FindClose,而不是CloseHandle

[ 本帖最后由 jssmartstar 于 2011-1-23 16:08 编辑 ]
2011-01-23 16:04
快速回复:求助 C++BULIDER6.0下通过api函数编写遍历文件夹下文件的程序报错
数据加载中...
 
   



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

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