> 백엔드 개발 > C++ > 본문

시스템 호출을 사용하여 Unix에서 디렉터리 존재를 확인하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-07 13:09:03
원래의
794명이 탐색했습니다.

How to Check Directory Existence in Unix Using System Calls?

Unix에서 디렉토리 존재 확인: 시스템 호출을 사용한 종합 안내서

문제:

Unix에서 어떻게 할 수 있습니까? 디렉터리를 열거나 관련 오류를 처리하지 않고 시스템 호출을 사용하여 디렉터리의 존재를 확인합니까?

답변:

POSIX 시스템은 이러한 목적을 위해 두 가지 필수 기능을 제공합니다. stat( ) 및 lstat(). 이러한 함수를 사용하면 경로 이름이 액세스 가능한 유효한 객체를 반영하는지 확인하고 해당 유형에 대한 정보를 검색할 수 있습니다.

stat()와 lstat()의 주요 차이점:

  • stat(): 심볼릭 링크를 따라가며 최종 목적지에 대한 정보를 제공합니다.
  • lstat(): 심볼릭 링크가 가리키는 대상에 관계없이 심볼릭 링크 자체에 대한 정보를 제공합니다.

stat()을 사용한 구현:

#include <sys/stat.h>

struct stat sb;

if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) {
    // True if pathname is a directory
}
로그인 후 복사

추가 파일 형식 확인:

< sys/stat.h>, 디렉터리 이외의 다른 파일 형식을 확인할 수 있습니다:

  • S_ISREG: 일반 파일
  • S_ISCHR: 문자 장치
  • S_ISBLK: 블록 장치
  • S_ISFIFO: FIFO
  • S_ISLNK: 심볼릭 링크
  • S_ISSOCK: 소켓

위 내용은 시스템 호출을 사용하여 Unix에서 디렉터리 존재를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!