C/C++ 을 사용하여 우리가 흔히 사용하는 ls 또는 dir 명령과 같이 directory 의 파일 또는 폴더의 리스트를 얻고 싶어서 찾아보니

 

아래 주소의 글이 나오더군요. 역시… stackoverflow

 

http://stackoverflow.com/questions/612097/how-can-i-get-a-list-of-files-in-a-directory-using-c-or-c

 

boost 와 같은 매우 좋은 라이브러리를 사용하는 방법도 있지만 첫번째 답변에 dirent.h 파일을 사용하는 방법이 설명 되어 있었습니다.

 

dirent.h 는 C POSIX library 에 포함되어 있으며 MinGW 나 GCC 등에서는 사용할 수 있지만 Visual Studio에서는 사용할 수 없더군요.

 

http://stackoverflow.com/questions/5530933/dirent-h-in-visual-studio-2010-or-2008

 

사실 이런 파일 리스트와 관련한 함수들은 Cross Platform 으로 구성되어야 코딩하기 편한데 각 플랫폼에 따라 다르게 코딩하는 방법을 알아야 된다는 게 귀찮더군요.

 

그런데 역시.. dirent.h 는 Visual Studio 에서 사용할 수 있도록 아래 주소에 API 가 있었습니다.

 

http://www.softagalleria.net/dirent.php

 

또한 첫 번째로 소개했던 주소에 Visual Studio 에서 사용 할 수 있는 dirent.h 의 링크가 있더군요.

 

http://www.softagalleria.net/download/dirent/

 

몇 가지 파일 중 dirent-1.11.zip 파일을 다운로드 받았고~ Codeblock 을 사용하여 빌드 해 봤습니다.

 

필요하신 분들을 위해 dirent-1.11.zip 파일도 올립니다.

  

dirent-1.11.zip


빌드 후에 아래 그림과 같이 dirTest.exe C:\Windows 라고 명령해서 C:\Windows 의 파일리스트를 확인해 봤습니다.

 

잘 되더군요.

+ Recent posts