2011-11-28 2 views
0

저는 리눅스 용 v2.18.8 (CentOS5)을 편집하여 학교 프로젝트 용 파일 속성을 포함 시켰습니다. 그룹으로 구현해야하는 것 중 하나는 모든 속성 이름을 나열하는 것입니다 (속성은 숨겨진 디렉토리에 파일과 동일한 레벨로 저장된 텍스트 파일 임). 그냥 예를linux에서 readdir은 어디에 있습니까?

는 :

this.jpg은/데스크탑/테스트에서 파일입니다. 사용자 지정 사용자 특성을 추가하면 특성을 보유하는 폴더가 만들어집니다. 그래서 "Creator"속성을 추가하고 "bob"값을 갖게되면 /Desktop/Testing/.this.jpg_attr/Creator를 얻게됩니다 (그리고 Creator를 열면 내용은 "bob"이됩니다).

내가하고 싶은 것은 속성 폴더 (또는 /Desktop/Testing/.this.jpg_attr/의 모든 파일)에서 사용자가 만든 속성을 모두 나열하는 것입니다. 사용하고 싶습니다. readdir 호출하지만, 리눅스 설치에서 어디에서 찾을 수 있을지 모르겠습니다. 누군가가 readdir을 찾을 곳에 대한 지침을 줄 수 있다면, 어떻게 조작할지 알아낼 수 있다고 생각합니다.

어떤 코드도 묻지 않습니다. READDIR이있는 곳의 파일 경로 또는 READDIR이 지정된 시스템 호출.

고맙습니다.

답변

10

의미가 명확하지 않습니다. 사용할 readdir 함수는 표준 라이브러리의 일부이며 자동으로 링크됩니다.

아마도 readdir을 선언하는 헤더 파일을 포함시키는 방법을 묻는 것입니다. 이 경우 :

#include <dirent.h> 

이 명령을 사용하여 readdir 함수에 대한 자세한 정보를 얻을 수 있습니다 :

man 3 readdir 
+0

아 좋아요. 그래서 readdir은 시스템 호출 자체가 아닙니다. – NuGy

+0

나는 지금 나는 이해하고 있다고 생각한다. 나는이 모든 종류의 잘못을보고 있었다. ... 해명을 위해 정말로 감사한다. – NuGy

+1

저수준의'readdir' 시스템 콜이 있습니다 만, 리눅스에 특화되어있어, 간단하게 호출 할 방법이 없습니다. 'dirent.h '에 정의 된 이식 가능한 POSIX'readdir' 라이브러리 호출을 사용하려고합니다. –

0

시스템 호출이 getdents(2)이다, 그러나 당신이 휴대 성을 위해 readdir 래퍼를 계속 사용해야합니다.

관련 문제