All about C/심화

디렉토리 스트림(Directory Stream)

※ 이 글은 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) 지원한다.

  ㉢ 아래 내용을 참조하자.

 

파일 시스템(filesystem)

※ 이 글은 chatGPT를 기반으로 작성한 글입니다.

hemahero.tistory.com