2012-06-11 2 views

답변

1

디렉토리를 탐색하려면 다음이 필요합니다. opendir(3), readdir(3)closedir(3).

파일 유형을 확인하려면 (디렉토리인지, 재귀 적으로 검색해야하는지) 확인하려면 stat(2)이 필요합니다.

당신은 파일이 디렉토리인지 여부를

(struct stat).st_mode & S_IFDIR 

을 확인하는 것이 좋습니다. 자세한 내용은 <sys/stat.h>을 참조하십시오.

0

이미 기본 답변 : opendir/readdir/closedir을 입력하셨습니다. 디렉토리 항목을 탐색 할 때 각 항목이 파일 또는 디렉토리를 참조하는지 확인합니다. 디렉토리를 참조하는 사용자는 트래버스 (일반적으로 재귀 적으로)합니다. 파일을 참조하는 사람들은 이름을 찾고있는 파일과 비교하고 발견했는지 확인하십시오.

다른 작은 세부 사항 중 하나 : 아마도 심볼 링크를 확인하고 싶을 수도 있습니다. 심볼릭 링크는 (예를 들어) 무한 재귀를 초래할 수있는/또는 부모 디렉토리를 참조 할 수 있습니다. 심볼릭 링크를 완전히 무시하거나 적어도 이미 트래버스하기 시작한 디렉토리 목록을 유지하고 기호 링크가 목록에없는 경우에만 심볼 링크를 확인하거나 트래버스 할 수 있습니다.

1

C에서 작은 코드를 작성하려고하면이 검색 활동을 쉽게 할 수 있습니다. /home/Jack /에서 abc.txt를 검색 한 다음 파일 스트림을 열고 매개 변수로 파일 경로를 전달해야한다고 가정하십시오. 이제이 명령문이 실행될 때 기존 파일을 열려고 시도합니다. 이 API는 파일이 없으면 0이 아닌 값을 리턴하고 그렇지 않으면 -1 또는 0을 리턴합니다.

관련 문제