2009-11-16 10 views
1

while 루프를 실행할 때 하위 디렉토리를 열려면 루프를 실행하려고하기 때문에 먼저 closedir()을 호출하지 않아도 opendir()을 반복적으로 호출하는 것이 좋으면 C로 디버그를 시도하고 궁금합니다. readdir()을 호출하면 그것들을 만난다. 그리고 현재 디렉토리를 닫으면 읽는 능력을 잃을 것이라고 생각합니다.opendir을 C에서 반복적으로 사용할 수 있습니까?

+0

opendir의 결과를 동일한 로컬 변수에 할당합니까? 실제 결과 대 예상 결과를 사용하여 코드를 게시하면 질문에 쉽게 답할 수 있습니다. – mlibby

+0

음, 재귀 적으로 만들려고했는데 ... 제 문제가 스레드를 다루는 다른 문제 일 수 있다고 생각합니다 ... – KenjiOne

답변

5

opendir()을 반복적으로 사용할 수 있습니다. DIR *을 계속 사용하고 각각 완료하면 closedir()으로 전화하십시오.

+0

좋아요! 고마워요 :) – KenjiOne

2

예, 여러 opendir() 호출을 수행 할 수 있습니다. 심볼릭 링크 루프가 무한 루프에 빠지거나 사용 가능한 모든 메모리를 사용할 수 있으므로 조심하십시오.

+0

감사합니다. 감사합니다! – KenjiOne

1

수집 할 DIR*을 유출하지 않도록주의해야하지만 파일 설명자 제한에 도달하지 않는 한 동일한을 열어도 아무런 문제가 없어야합니다 시각.

+0

좋아요, 저에게 약간의 배경 정보를 제공해 주셔서 감사합니다 :) – KenjiOne

관련 문제