c언어로 폴더와 폴더안의 파일 읽어들이기 ... ? (on unix)

Sailor_moon의 이미지

안녕하세요, C언어 , 리눅스 환경에서 공부하고 있습니다.

시작 아규멘트로 , 폴더 이름( photo/*jpg)을 입력 받으면 , 해당 폴더로 가서 , 폴더가 없으면 에러 출력 종료,
있으면 안에 있는 파일을(이경우엔 *.jpg) ...
모두 출력(display) 하는 c 프로그램 입니다.

아규멘트로 받고, 메모리 할당 하는것 까지는 했는데, 그냥 단순한 파일 오픈이 아니고,
어떻게 해야 , 디렉토리를 건드릴 수 있을까요 ? .... 원래는 정규식 등을 써서 위의 명령어도 분류해야하지만
일단 먼저 , 파일 및 디렉토리에 접근이 가능해지면 ,

fork/exec()를 이용해서 추후에 convert 프로그램을 이용해서 자동 리사이징 하는 프로그램이 최종 골입니다...

empty2fill의 이미지

dirent 관련 함수를 이용해 보세요.

              #include <dirent.h>
 
              int            closedir(DIR *);
              DIR           *opendir(const char *);
              struct dirent *readdir(DIR *);
 
              int            readdir_r(DIR *restrict, struct dirent *restrict,
                                 struct dirent **restrict);
 
              void           rewinddir(DIR *);
 
              void           seekdir(DIR *, long);
              long           telldir(DIR *);

——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -

bushi의 이미지

반칙같지만... walk 과 regex 를 한번에.

man wordexp