>백엔드 개발 >C++ >Unix에 디렉터리가 있는지 확인하는 방법은 무엇입니까?

Unix에 디렉터리가 있는지 확인하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-06 12:22:02688검색

How to Determine if a Directory Exists in Unix?

Unix에서 디렉터리 존재 확인

Unix에서는 다양한 작업에 디렉터리 존재 확인이 필수적입니다. 오류 발생 시 디렉토리가 존재하지 않음을 드러내는 opendir()과 달리 디렉토리의 존재를 확인하도록 특별히 설계된 시스템 호출이 있습니다.

이러한 요구를 해결하기 위해 POSIX 시스템은 두 가지 기능을 제공합니다: stat () 및 lstat(). 두 함수 모두 해당 유형을 포함하여 지정된 경로 이름에 대한 정보를 제공합니다. 그러나 stat()는 심볼릭 링크를 따르지만 lstat()는 그렇지 않습니다.

stat()를 사용하여 디렉터리가 존재하는지 확인하려면:

#include <sys/stat.h>

struct stat sb;

if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) {
    // Directory exists
}

매크로 S_ISDIR()은 파일 형식을 확인합니다. 디렉토리로. 마찬가지로 해당 S_IS* 매크로를 사용하여 다른 파일 형식을 확인할 수 있습니다.

결론:

stat() 및 lstat()는 파일 형식을 결정하는 편리하고 포괄적인 방법을 제공합니다. Unix에서 파일이나 디렉토리의 존재 여부와 유형을 파악하여 파일 시스템 관련 작업을 원활하게 처리할 수 있습니다.

위 내용은 Unix에 디렉터리가 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.