※ 이 글은 chatGPT를 기반으로 작성한 글입니다.
① 디렉토리 스트림(Directory Stream)은 C 표준 라이브러리에서 제공하는 추상데이터 타입이다.
㉠ 디렉토리 스트림은 디렉토리의 내용을 접근하기 위한 방법을 제공한다.
㉡ 스트림(stream)은 디렉토리의 내용이 데이터 스트림처럼 순차적으로 표시되는 것을 말한다.
㉢ 디렉토리 스트림은 DIR 구조체로 표현되며, 이는 <dirent.h> 헤더 파일에 정의되어 있다.
ⓐ DIR 구조체는 디스크의 위치와 디렉토리 스트림의 현재 위치를 포함하여 열려있는 디렉토리에 대한 정보를 포함한다.
② <dirent.h> 에는 opendir(), readdir(), closedir() 가 정의되어 있다.
㉠ opendir() 함수는 디렉토리의 내용을 읽는 디렉토리 스트림(Directory Stream)을 열기 위해 사용한다.
ⓐ 단일 인자를 취하며, DIR 구조체의 포인터를 반환한다.
㉡ readdir() 함수로 디렉토리의 내용을 개별적으로 읽을 수 있다.
㉢ closedir() 함수로 디렉토리 스트림을 닫아야 한다.
③ 아래 코드는 위 함수를 이용한 예시이다.
④ 현재는 C++에서 <dirent.h> 를 대체할 <filesystem> 헤더 파일을 제공한다.
㉠ <filesystem>은 높은 수준의 안전한 인터페이스를 제공한다.
㉡ 디렉토리 스트림 대신 디렉토리 반복자/이터레이터를(directory iterator) 지원한다.
㉢ 아래 내용을 참조하자.