#include <windows.h>
#include <direct.h>
void FileList(char *path);
void main()
{
char Path[MAX_PATH];
_getcwd(Path, MAX_PATH);
strcat(Path,"\\*.*"); // 만약 wav파일만 찾고 싶다면 *.wav 하면된다 그런데 하위 폴더는 찾기가 안될것이다.
FileList(Path);
}
void FileList(char *path)
{
BOOL bResult = TRUE;
HANDLE hSrch;
WIN32_FIND_DATA wfd;
char drive[_MAX_DRIVE];
char dir[MAX_PATH];
char newpath[MAX_PATH];
// path에 해당하는 디렉토리를 포인터를 읽어온다.
hSrch=FindFirstFile(path,&wfd);
// 잘못읽어올경우 함수를 빠져 나간다.
if (hSrch == INVALID_HANDLE_VALUE)
return;
// 드라이브를 읽어온다. ( 어찌보면 필요없는 부분이다 )
_splitpath(path,drive,dir,NULL,NULL);
while( bResult ) {
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
if (strcmp(wfd.cFileName,".") && strcmp(wfd.cFileName,".."))
{
FileList(newpath); // 재귀함수 호출로 하위 디렉토리까지 처리할수 있다.
}
}
wfd.cFileName; // 이변수에 파일 이름이 씌여진다.( 여기 변수에 파일명을 얻어오니 원하는 처리를 하면 된다 )
bResult=FindNextFile(hSrch,&wfd);
}
FindClose(hSrch);
}
출처 :
http://blog.naver.com/ppusarida/40086376260
에서 퍼옴
#include <direct.h>
void FileList(char *path);
void main()
{
char Path[MAX_PATH];
_getcwd(Path, MAX_PATH);
strcat(Path,"\\*.*"); // 만약 wav파일만 찾고 싶다면 *.wav 하면된다 그런데 하위 폴더는 찾기가 안될것이다.
FileList(Path);
}
void FileList(char *path)
{
BOOL bResult = TRUE;
HANDLE hSrch;
WIN32_FIND_DATA wfd;
char drive[_MAX_DRIVE];
char dir[MAX_PATH];
char newpath[MAX_PATH];
// path에 해당하는 디렉토리를 포인터를 읽어온다.
hSrch=FindFirstFile(path,&wfd);
// 잘못읽어올경우 함수를 빠져 나간다.
if (hSrch == INVALID_HANDLE_VALUE)
return;
// 드라이브를 읽어온다. ( 어찌보면 필요없는 부분이다 )
_splitpath(path,drive,dir,NULL,NULL);
while( bResult ) {
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
if (strcmp(wfd.cFileName,".") && strcmp(wfd.cFileName,".."))
{
FileList(newpath); // 재귀함수 호출로 하위 디렉토리까지 처리할수 있다.
}
}
wfd.cFileName; // 이변수에 파일 이름이 씌여진다.( 여기 변수에 파일명을 얻어오니 원하는 처리를 하면 된다 )
bResult=FindNextFile(hSrch,&wfd);
}
FindClose(hSrch);
}
출처 :
http://blog.naver.com/ppusarida/40086376260
에서 퍼옴
'C언어' 카테고리의 다른 글
조건부 컴파일 (0) | 2011.03.08 |
---|---|
모듈화 프로그래밍 (0) | 2011.03.08 |
전처리 중복선언을 피하기 위한 조건부 컴파일 방법 형식 (0) | 2010.05.19 |
모듈화 프로그램 해더파일의 유용성 (0) | 2010.05.19 |
모듈화 프로그램(전역 static : 외부 접근불가 & 외부참조 extern) (0) | 2010.05.19 |