본문으로 바로가기
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 심볼릭링크 정보 구하기 readlink()

C언어 심볼릭링크 정보 구하기 readlink()

· 댓글 0 · 바다야크

readlink() function in C language

C함수 readlink()는 심볼릭 링크의 원래 위치나 파일 정보를 구합니다. readlink()의 주의할 점은 버퍼에 정보를 저장하면서 NULL 코드를 추가하지 않습니다. 그러므로 반드시 버퍼를 초기화한 후에 호출합니다.

  • 헤더: unistd.h
  • 형태: ssize_t readlink(const char *path_name, char *buff, size_t buff_size)
  • 인수: const char *path 심볼릭 링크 이름
    char *buff 정보를 받아 올 버퍼
    size_t buff_size 퍼버의 크기
  • 반환: ssize_t == -1 실패
    >  0 성공시 정보의 바이트 수

C언어 readlink() 함수 예제

심볼릭 링크 /tmp/lnk_home의 원래 위치를 출력합니다.

#include <stdio.h>
#include <string.h> // memset()  strerror()
#include <unistd.h> // readlink()
#include <errno.h>  // errno

int main( void){
    char buff[1024];
    int  sz_link;
    
    memset( buff, 0, sizeof( buff));
    sz_link = readlink( "/tmp/lnk_home", buff, sizeof( buff));

    if ( 0 < sz_link){
        printf( "return = %d, link=%s\n", sz_link, buff);
    } else {
        printf( "error number= %d, error str= %s\n", errno, strerror( errno));
    }
    return 0;
}

C언어 readlink() 예제 실행 결과

$ gcc test.c
$ ./a.out 
error number= 2, error str= No such file or directory
$ ln -s /home/badayak /tmp/lnk_home
$ ./a.out 
return = 13, link=/home/badayak
$
💬 댓글 0

이름을 저장합니다.

최근글 thumbnail 삼성덱스 휴대폰 충전 방법 (1) thumbnail 돈 버는 어플 3종 현금되는 영수증 인증과 돈버는 만보기앱 thumbnail 삼성 덱스 화면 캡쳐 방법 thumbnail 샤오미 창문 청소기 안전하게 사용하는 방법 (1) thumbnail 삼성 덱스 연결 시 갤럭시 터치패드앱 자동실행 설정 및 해제 방법 thumbnail 성균관대 근처 맛집 특수부위 전문점 도래홍막창 (1) thumbnail 라자루스 내문서 폴더 위치 구하는 방법 thumbnail 백팩 폰케이스 자석 휴대폰 거치대
[승인대기] 💬강강 [승인대기] 💬모란들꽃 [승인대기] 💬모란들꽃 칭찬의 말씀 감사합니다. 즐⋯ 💬바다야크 너무나 좋은 프로그램 너무나⋯ 💬테드