注册 登录
编程论坛 VC++/MFC

C++递归遍历文件目录,编译成功 但控制台却不显示任何数据,还请高手指教!

shixuan2008 发布于 2015-10-25 09:28, 2250 次点击
代码如下:
// KZT1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <io.h>
#include <string>
using namespace std;

void dfsFolder(string folderPath)
{
    _finddata_t Fileinfo;
    string search = folderPath+"\\*";
    intptr_t Handle = _findfirst(search.c_str(),&Fileinfo);
    if (Handle==-1L)
    {
        printf("无法找到相应路径\n");
        exit(0);
    }
    do
    {
        if (Fileinfo.attrib&_A_SUBDIR)
        {
            if (strcmp(Fileinfo.name,".")!=0&&strcmp(Fileinfo.name,".."))
            {
                string newpath=folderPath+""+Fileinfo.name;
                dfsFolder(newpath);
            }
        }
        else
        {
            cout<<folderPath+"\\"<<Fileinfo.name<<endl;
            printf("%s\\%s\n",folderPath,Fileinfo.name);
        }
    }
    while (_findnext(Handle,&Fileinfo));
    {
        _findclose(Handle);

    }
}
int _tmain(int argc, _TCHAR* argv[])
{
    string path     = "F:\\电影\\西游记";//
    dfsFolder(path);
    int i ;
    cin>>i;
    return 0;
}
4 回复
#2
农民工2015-10-27 11:32
string newpath=folderPath+""+Fileinfo.name; -> string newpath=folderPath+"\\"+Fileinfo.name;试试
#3
shixuan20082015-10-27 15:28
还是不行 出现如下错误:
KZT1.exe 中的 0x10227c2f (msvcr80d.dll) 处未处理的异常: 0xC0000005: 读取位置 0x35406f99 时发生访问冲突
#4
仰望星空的2015-10-28 15:28
是不是压根就没进入到子程序里面啊~
#5
诸葛欧阳2015-10-28 16:27
输出语句?
1