[c++] 파일 및 디렉토리 권한 검사하기
파일이나 디렉토리에 대한 권한을 확인하여 특정 작업을 수행하려면 C++의 내장 함수를 사용할 수 있습니다. 여기에 간단한 예제 코드가 있습니다.
먼저, stat
함수를 사용하여 파일의 권한을 검사합니다.
#include <iostream>
#include <sys/stat.h>
int main() {
struct stat fileStat;
if (stat("file.txt", &fileStat) == 0) {
// 파일 권한에 따른 처리
if (fileStat.st_mode & S_IRUSR) {
std::cout << "해당 파일은 소유자에 의해 읽을 수 있습니다." << std::endl;
}
if (fileStat.st_mode & S_IWUSR) {
std::cout << "해당 파일은 소유자에 의해 쓰일 수 있습니다." << std::endl;
}
if (fileStat.st_mode & S_IXUSR) {
std::cout << "해당 파일은 소유자에 의해 실행될 수 있습니다." << std::endl;
}
// 그 외 권한에 따른 처리 내용 추가
} else {
std::cerr << "파일 정보를 가져오는 데 실패했습니다." << std::endl;
}
return 0;
}
위의 코드는 stat
함수를 사용하여 “file.txt” 파일의 권한을 검사합니다. 이 후, st_mode
필드를 사용하여 각각의 권한을 확인하고 관련된 메시지를 출력합니다.
파일이나 디렉토리의 권한을 확인하는 데에 있어서 stat
함수 외에도, lstat
, fstat
, access
함수 등도 활용할 수 있습니다.
위의 코드를 실행하기 전에, sys/stat.h
헤더 파일을 포함하여야 합니다.
이 코드를 통해 파일 및 디렉토리의 권한을 검사하고 원하는 작업을 수행할 수 있습니다.
더 자세한 내용은 C++ 파일 시스템 라이브러리 참조 문서를 참고하세요.