C함수 환경변수를 추가 또는 수정 setenv()
putenv() 함수처럼 환경 변수 목록 중에 변수값을 수정하거나 추가합니다. 대신에 putenv() 함수는 바로 수정되거나 추가되지만 setenv()는 옵션에 따라 이미 있는 변수에 대해서는 취소할 수 있습니다.
역시 putenv() 함수처럼 수정된 변수값이나 새로 추가된 환경 변수값은 실행 중인 프로그램에서만 유효하며 외부적으로는 변경되지 않습니다. 즉, 프로그램의 실행 단위인 애플리케이션 내에서만 유효합니다.
- 헤더: stdlib.h
- 형태: int setenv(const char *envname, const char *envval, int overwrite)
- 인수: char *envname 환경 변수 이름
char *envval 변수값
int overwrite 이미 같은 이름의 변수가 있다면 값을 변경할지의 여부 - 반환: int 성공하면 0, 실패하면 -1
C언어 setenv() 함수 예제
#include <stdio .h>
#include <stdlib .h>
extern char **environ; // 외부 참조 변수로 선언
int main()
{
setenv( "QTDIR" , "/jwmx/badayak/com", 0);
setenv( "NEWVALLUE", "badayak.com" , 1);
while( *environ)
printf( "%s\n", *environ++);
return 0;
}
C언어 setenv() 예제 실행 결과
]$ ./a.out
HOSTNAME=jwCentOS
TERM=linux
:
QTDIR=/usr/lib/qt-3.3 <- 변경되지 않음
:
NEWVALLUE=badayak.com <- 추가 되었음
]$ printenv <- 프로그램 종료 후의 환경 값을 확인
HOSTNAME=jwCentOS
TERM=linux
:
QTDIR=/usr/lib/qt-3.3
:
NEWVALLUE=badayak.com <- 프로그램 실행 후에는 사라짐
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 환경변수 삭제 함수 unsetenv() (0) | 2020.03.14 |
---|---|
C언어 환경변수 추가 수정 함수 putenv() (0) | 2020.03.14 |
C언어 환경 변수의 개별 값을 구하기 함수 getenv() (0) | 2020.03.14 |