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
는
PATH와 NAME 사이에 공백 때문에 유효하지 않습니다.
마찬가지로, PATH=NAME=/my_lib/joe_user
는
PATH와 NAME 사이의 등호 때문에 유효하지 않습니다.
시스템은 환경 변수의 값인 것처럼
첫 번째 등호 다음의 모든 문자를 해석합니다.리턴값
성공하면 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