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 파일도 올립니다.
빌드 후에 아래 그림과 같이 dirTest.exe C:\Windows 라고 명령해서 C:\Windows 의 파일리스트를 확인해 봤습니다.
잘 되더군요.
'programming language > C' 카테고리의 다른 글
C 언어 fgets() 함수를 활용한 파일 입력 받기 (0) | 2016.03.02 |
---|---|
C/C++ 매크로를 사용한 정수 타입 swap (0) | 2016.02.19 |
C/C++ 비트연산 매크로 (0) | 2015.03.31 |
Windows 에서 GCC 및 boost 사용하기 (0) | 2014.07.20 |
C++ file path 나누기 SplitPath (0) | 2014.07.18 |
C++ range based for loops (0) | 2014.03.02 |
C++ Cartesian Product (0) | 2014.03.01 |
C++ XML parser pugixml (4) | 2014.02.09 |
댓글