http://koronaii.tistory.com/15
====================================================================
파일검색 소스. 검색을 원하는 폴더를 path로 넣으면, 하위폴더까지 전부 검색해서 출력한다.
=====================================================================
01 | void FileList( char *path) |
02 | { |
03 | HANDLE hSrch; |
04 | WIN32_FIND_DATA wfd; |
05 | BOOL bResult = TRUE; |
06 | char drive[_MAX_DRIVE] = {0,}; |
07 | char dir[MAX_PATH] = {0,}; |
08 | char newpath[MAX_PATH] = {0,}; |
09 | printf ( "\n검색 경로 = %s\n" , path ); |
10 | hSrch=FindFirstFile( path, &wfd ); |
11 | if (hSrch == INVALID_HANDLE_VALUE) |
12 | { |
13 | return ; |
14 | } |
15 | |
16 | _splitpath( path, drive, dir, NULL, NULL ); |
17 | while (bResult) |
18 | { |
19 | if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // 폴더형식이라면. |
20 | { |
21 | if ( strcmp (wfd.cFileName, "." ) && strcmp (wfd.cFileName, ".." ) ) // 이 2개는 제외한다. |
22 | { |
23 | sprintf (newpath, "%s%s%s\\*.*" ,drive,dir,wfd.cFileName); |
24 | FileList(newpath); |
25 | } |
26 | } |
27 | else // 실제파일이면! |
28 | { |
29 | // (nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow. // 파일의 실제사이즈 계산공식. |
30 | printf ( "%s%s%s\n" ,drive,dir,wfd.cFileName); |
31 | } |
32 | bResult=FindNextFile(hSrch,&wfd); |
33 | } |
34 | FindClose(hSrch); |
35 | } |
반응형
'차근차근 > C' 카테고리의 다른 글
wprintf, wcout등에 unicode빌드시 한글이 안나오는 문제 (0) | 2014.11.25 |
---|---|
cout의 모든 것 . [setf() , 조정자 , 형식변환] (0) | 2014.11.25 |
폴더에서 파일리스트 가져오기 (0) | 2014.11.21 |
[UNIX] 디렉토리함수 opendir(), readdir(), closedir(), lstat() (0) | 2014.11.20 |
CString - ReverseFind , Mid ,MakeUpper (0) | 2014.11.20 |