_putenv, _wputenv

환경 변수를 생성, 수정 또는 제거합니다. 이러한 함수의 더 안전한 버전을 사용할 수 있습니다. 를 참조하세요_putenv_s. _wputenv_s

Important

이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

int _putenv(
   const char *envstring
);
int _wputenv(
   const wchar_t *envstring
);

매개 변수

envstring
환경 문자열 정의입니다.

반환 값

함수는 성공하면 0을 반환하고 오류가 있으면 -1을 반환합니다.

설명

_putenv 함수는 새 환경 변수를 추가하거나 기존 환경 변수의 값을 수정합니다. 환경 변수는 프로세스가 실행되는 환경을 정의합니다(예: 프로그램에 연결할 라이브러리의 기본 검색 경로). _wputenv_putenv의 와이드 문자 버전이며, envstring 에 대한 _wputenv 인수는 와이드 문자열입니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT의 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

Tchar.h 루틴 _UNICODE and _MBCS 정의되지 않음 _MBCS 정의 _UNICODE 정의
_tputenv _putenv _putenv _wputenv

envstring 인수는 varname=value_string 형식 문자열에 대한 포인터여야 합니다. 여기서 varname은 추가하거나 수정할 환경 변수의 이름이고 value_string은 변수의 값입니다. varname이 이미 환경의 일부이면 해당 값이 value_string으로 바뀌고, 그렇지 않으면 새로운 varname 변수 및 해당 value_string 값이 환경에 추가됩니다. 빈 value_string변수를 지정하거나 =만 varname지정하여 환경에서 변수를 제거할 수 있습니다.

_putenv 현재 프로세스에 로컬인 환경에만 영향을 줍니다 _wputenv . 명령 수준 환경을 수정하는 데 사용할 수 없습니다. 즉, 이러한 함수는 런타임 라이브러리에 액세스할 수 있는 데이터 구조에서만 작동합니다. 운영 체제에서 프로세스를 위해 만든 환경 세그먼트에서는 작동하지 않습니다. 현재 프로세스가 종료되면 환경이 호출 프로세스의 수준(대부분의 경우 운영 체제 수준)으로 되돌아갑니다. 그러나 수정된 환경을 _spawn, _exec 또는 system에 의해 생성되는 모든 새 프로세스에 전달할 수 있으며, 이러한 새 프로세스는 _putenv_wputenv에 의해 추가되는 모든 새 항목을 가져옵니다.

환경 항목을 직접 변경하지 마세요. 대신 사용 _putenv 하거나 _wputenv 변경합니다. 특히 _environ[] 전역 배열의 요소를 직접 해제하면 잘못된 메모리가 처리될 수 있습니다.

_getenv_putenv는 전역 변수 _environ을 사용하여 환경 테이블에 액세스하고, _wgetenv_wputenv_wenviron을 사용합니다. _putenv_wputenv 값을 _wenviron_environ 변경하여 인수와 인수 _wenvpmain_envp 무효화할 wmain수 있습니다. 따라서 환경 정보를 사용 _environ 하거나 _wenviron 액세스하는 것이 더 안전합니다. 전역 변수의 관계 및 _wputenv 전역 변수에 대한 자세한 내용은 다음_wenviron을 참조하세요_environ._putenv

참고 항목

함수의 _putenv_getenv 패밀리는 스레드로부터 안전하지 않습니다. _getenv_putenv가 문자열을 수정하는 동안 문자열 포인터를 반환할 수 있으므로 임의의 오류를 발생시킵니다. 이러한 함수에 대한 호출은 동기화해야 합니다.

요구 사항

루틴에서 반환된 값 필수 헤더
_putenv <stdlib.h>
_wputenv <stdlib.h> 또는 <wchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

사용 _putenv방법에 대한 샘플은 다음_wgetenv을 참조하세요getenv.

참고 항목

프로세스 및 환경 제어
getenv, _wgetenv
_searchenv, _wsearchenv