유닉스에는 파일 글 로빙 작업을 수행 할 수있는 라이브러리가 있습니다. 함수와 타입은이라는 헤더에 선언되어 glob.h
있어야 #include
합니다. 터미널을 열면 다음을 입력하여 glob에 대한 맨 페이지를 엽니 다.man 3 glob
기능을 사용하는 데 필요한 모든 정보를 얻을 수 있습니다.
아래는 globbing 패턴과 일치하는 파일을 배열에 채울 수있는 방법의 예입니다. 이 glob
기능을 사용할 때 명심해야 할 것이 몇 가지 있습니다.
- 기본적
glob
으로이 기능은 현재 작업 디렉토리에서 파일을 찾습니다. 다른 디렉토리를 검색하려면 내 파일에서 모든 파일을 가져 오기 위해 수행 한 것처럼 디렉토리 이름을 글 로빙 패턴 앞에 추가해야합니다 /bin
.
- 구조가 끝나면
glob
호출 하여 할당 된 메모리를 정리할 책임이 있습니다 globfree
.
내 예제에서는 기본 옵션을 사용하고 오류 콜백을 사용하지 않습니다. 맨 페이지에는 사용할 무언가가있는 경우 모든 옵션이 포함되어 있습니다. 위의 코드를 사용하려면 범주 NSArray
또는 이와 유사한 범주로 추가하는 것이 좋습니다 .
NSMutableArray* files = [NSMutableArray array];
glob_t gt;
char* pattern = "/bin/*";
if (glob(pattern, 0, NULL, >) == 0) {
int i;
for (i=0; i<gt.gl_matchc; i++) {
[files addObject: [NSString stringWithCString: gt.gl_pathv[i]]];
}
}
globfree(>);
return [NSArray arrayWithArray: files];
편집 : NSArray + Globbing 이라는 범주에 위 코드를 포함하는 github에 요점을 만들었습니다 .