
lstat 함수는 심볼릭 링크의 상태를 가져오지 않고, 원본 파일의 상태를 가져옵니다.
예를 들어, 'symlink'이 심볼릭 링크일 때, lstat 함수는 원본 파일의 상태를 가져오므로, 원본 파일의 상태가 출력됩니다.
원본 파일의 상태를 가져오기 때문에, 심볼릭 링크의 상태를 가져오고 싶다면, stat 함수를 사용해야 합니다.
stat 함수는 심볼릭 링크의 상태를 가져오므로, 심볼릭 링크의 상태가 출력됩니다.
이러한 차이는 심볼릭 링크가 존재하는지 여부에 따라 달라집니다.
만약 원본 파일이 존재하지 않는다면, lstat 함수는 심볼릭 링크의 상태를 가져오지만, stat 함수는 에러를 반환합니다.
따라서, 원본 파일의 상태를 가져오고 싶다면 lstat 함수를 사용하고, 심볼릭 링크의 상태를 가져오고 싶다면 stat 함수를 사용해야 합니다.
예를 들어, 다음 코드를 실행했을 때, 'symlink'이 심볼릭 링크일 때, lstat 함수는 원본 파일의 상태를 가져오므로, 원본 파일의 상태가 출력됩니다.
#include
#include
int main() {
struct stat info;
lstat("symlink", &info);
printf("파일 상태: %dn", info.st_mode);
return 0;
}
반면, stat 함수를 사용하면 심볼릭 링크의 상태가 출력됩니다.
#include
#include
int main() {
struct stat info;
stat("symlink", &info);
printf("파일 상태: %dn", info.st_mode);
return 0;
}
따라서, 원본 파일의 상태를 가져오고 싶다면 lstat 함수를 사용하고, 심볼릭 링크의 상태를 가져오고 싶다면 stat 함수를 사용해야 합니다.
2025-06-09 16:15