readdir()해서 그 폴더안의 내용을 모두 출력할때요.
글쓴이: sojung22 / 작성시간: 토, 2004/09/18 - 3:01오후
int open_dir() { DIR *srcdir = opendir(docsrc); struct dirent *pent; //디렉토리 열기 while((pent = readdir(srcdir)) != NULL) { printf("%s\n", pent->d_name); } }
간단히 디렉토리를 열어서 그안의 파일명을 출력하면 되는데요.
파일들뿐 아니라, . 과 .. 도 같이 출력하더라구요.
readdir 사용시 위의 것들은 출력하지 않는 방법이 있나요?
strcmp를 써서 같을때는 출력안하도록 해보긴 했는데.
뭔가 좀더 멋진^^; 방법이 있을듯 해서요. 궁금합니다..
Forums:
Re: readdir()해서 그 폴더안의 내용을 모두 출력할때요.
이렇게 하면 되지 않을까요.
----
http://www.planetmono.org
다들 strcmp를 사용합니다. 8)
다들 strcmp를 사용합니다. 8)
Re: readdir()해서 그 폴더안의 내용을 모두 출력할때요.
strcmp가 보기 싫으시다면 glob를 사용해 보세요.
흠. 별로 안멋지군요. -_-
모든 서브디렉토리를 무시하고 싶으시다면is_dir()을 쓰세요. ^^
모든 서브디렉토리를 무시하고 싶으시다면
is_dir()을 쓰세요. ^^
2006년 2월 21일.
[code:1]struct stat stat_p;err = lst
별로 우아해 보이지 않지만, 필요시 이렇게도 코딩합니다.
레귤라 파일을 검토 하는 이유는 스페셜파일(소켓, 피포, 링크등등)에 대
레귤라 파일을 검토 하는 이유는 스페셜파일(소켓, 피포, 링크등등)에 대한 고려가 필요할 경우가 많기 때문입니다. 꼭 ".", ".."만 있는 것은 아니겠지요. 특히, 좀 더티한(?) 환경이라면 더욱 더 고려해야 합니다.
읽고자 하는
읽고자 하는 디렉토리 안에 파일이 아닌 디렉토리는 무시 하게 하려고 하는데 잘 안되네요.
처음엔 그냥 S_ISDIR()을 사용 해봤는데 서브디렉토리가 안걸러 지더군요.
그래서 S_ISREG()를 써서 아래처럼도 시도해봤지만 역시 파일이 아닌 디렉토리도 나왔습니다.
그리고 파일중에서 압축파일이나 동영상 파일, 이미지파일 같은건 파일크기 정보가 안나오던데
이런건 따로 처리를 해주어야 하는가요?
해당 부분의 코드를
해당 부분의 코드를 올려주세요.
아울러, 실행환경(운영체제 및 버전, 컴파일러 및 버전, 컴파일옵션에서 64비트 파일시스템을 위한 배려(?)를 했는가?등)에 대해 간략히 올려주십시요.
*참고:
32비트 운영체제이면서, 거대파일( 질문에서는 동영상, 이미지 파일등; 파일크기 > 2^31-1 Bytes)인 경우에는, 32비트를 위한 파일시스템호출을 하고 그냥 평범하게 컴파일해서 생기는 문제가 아닌가?라는 예측을 해봅니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기