您的位置:首页 > 编程语言 > C语言/C++

【VS开发】C语言遍历文件夹

2016-03-04 18:54 495 查看
// StdCFIndAllFiles.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include <iostream>
#include <windows.h>
#include <cstring>

using namespace std;

void ListFile(char* szDir)

{
char  szTempDir[MAX_PATH+1];
strcpy(szTempDir,szDir);
strcat(szTempDir,"*");
HANDLE  hFindFile;
WIN32_FIND_DATA  FileData;

hFindFile = FindFirstFile(szTempDir,&FileData);

if( hFindFile == INVALID_HANDLE_VALUE )
{
return ;
}
else
{
do
{
if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(FileData.cFileName,".")
&& strcmp(FileData.cFileName,".."))

{
char szNewDir[MAX_PATH+1];
strcpy(szNewDir,szDir);
strcat(szNewDir,FileData.cFileName);
strcat(szNewDir,"\\");
ListFile(szNewDir);
}
else
{
cout<<szDir<<FileData.cFileName<<endl;
}
}
while(FindNextFile(hFindFile,&FileData));
FindClose(hFindFile);
return ;
}

}

int main()
{
char   szPath[MAX_PATH+1];
while(cin>>szPath)
{
if(szPath[strlen(szPath)-1]!='\\')
strcat(szPath,"\\");
ListFile(szPath);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: