ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C/C++ getenv(3)
    C,C++ & Linux 2020. 5. 22. 22:09
    728x90

    함수 기능

    지정한 이름의 환경 변수를 얻는 함수입니다.

     

    환경변수는 "이름=값"의 형태로 이루어져있습니다.

    모든 환경변수의 리스트는 전역변수 envrion 과 main 함수의 세 번째 인자로도 얻을 수 있지만 특정 환경변수의 값만 알고 싶은 경우 이 함수를 사용할 수 있습니다.

     

    함수 원형

    #include <stdlib.h>
    
    char *getenv(const char *name);

     

    매개변수

    name

    이름 변수로, 지정한 이름의 환경변수 값을 얻을 수 있습니다.

     

    반환값

    성공 시 지정한 이름의 환경변수를 가리키는 포인터 리턴

    에러 시 NULL 리턴하고 errno 설정

    예제

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int main(int argc, char *argv[], char *envpp[]) {
        char buf[BUFSIZ];
        char *env;
    
    	// 모든 환경변수 리스트를 쭉 출력해봄
        for (char **envp = envpp; *envp; envp++) {
            printf("%s\n", *envp);
        }
    
        printf("Input >> ");
    	
    	// 출력하고 싶은 환경변수를 입력
        scanf("%s", buf);
    	
    	// 해당 환경변수의 값을 찾아서 출력
        env = getenv(buf);
        if (env == NULL) {
            fprintf(stderr, "getenv error\n");
            exit(1);
        }
    
        printf("%s\n", env);
        exit(0);
    }
    

     

    결과

     

     

     

     

     

     

     

     

     

     

    리눅스시스템프로그래밍 저자 : 홍지만
    https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

    책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)

    'C,C++ & Linux' 카테고리의 다른 글

    C/C++ setenv(3) unsetenv(3)  (0) 2020.05.23
    C/C++ putenv(3)  (0) 2020.05.22
    C/C++ free(3)  (0) 2020.05.22
    C/C++ realloc(3)  (0) 2020.05.22
    C/C++ calloc(3)  (0) 2020.05.22

    댓글

Designed by Tistory.