putenv() — 환경 변수 변경/추가

형식

#include <stdlib.h>
int putenv(const char *varname);

언어 레벨

XPG4

스레드세이프

작업 CCSID 인터페이스

이 함수로 보내진 모든 문자는 작업의 CCSID에 있을 것으로 예상합니다. 이 함수에서 리턴된 모든 문자 데이터는 작업의 CCSID에 있습니다. 자세한 정보는 CCSID 및 로케일 이해의 내용을 참조하십시오.

설명

putenv() 함수는 기존 변수를 변경하거나 새 변수를 작성하여 환경 변수의 값을 설정합니다. 양식 var=x에 대한 varname 매개변수 포인트로, 여기서 x는 환경 변수 var에 대한 새 값입니다.

name은 공백 또는 등호( = ) 기호를 포함할 수 없습니다. 예를 들면,
    PATH NAME=/my_lib/joe_user
PATHNAME 사이에 공백 때문에 유효하지 않습니다. 마찬가지로,
    PATH=NAME=/my_lib/joe_user
PATHNAME 사이의 등호 때문에 유효하지 않습니다. 시스템은 환경 변수의 인 것처럼 첫 번째 등호 다음의 모든 문자를 해석합니다.

리턴값

성공하면 putenv() 함수는 0(영)을 리턴합니다. putenv()이 실패하면 -1이 리턴되고 errno가 오류를 보여주도록 설정됩니다.

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
   char *pathvar;
 
   if (-1 == putenv("PATH=/:/home/userid")) {
      printf("putenv failed \n");
      return EXIT_FAILURE;
   }
   /* getting and printing the current environment path     */
 
   pathvar = getenv("PATH");
   printf("The current path is: %s\n", pathvar);
   return 0;
}
 
/**********************************************************
   The output should be:
 
   The current path is: /:/home/userid