다음을 통해 공유


_putenv_s, _wputenv_s

수정, 만들거나 환경 변수를 제거 합니다.이러한 버전의 수 _putenv, _wputenv 하지만 보안 강화 기능이 없는 저장에 설명 된 대로 CRT의 보안 기능.

중요중요

이 API를 실행 하는 응용 프로그램에서 사용할 수 있는 Windows 런타임.자세한 내용은 /zw에 지원 되는 CRT 함수.

errno_t _putenv_s(
   const char *name,
   const char *value 
);
errno_t _wputenv_s(
   const wchar_t *name,
   const wchar_t *value
);

매개 변수

  • name
    환경 변수 이름입니다.

  • value
    환경 변수를 설정할 값입니다.

반환 값

오류 코드는 성공 하면 0 반환 합니다.

오류 조건

name

value

반환 값

NULL

any

EINVAL

any

NULL

EINVAL

조건 중 하나에 오류가 발생 하는 경우 이러한 함수는 잘못 된 매개 변수 처리기의 설명에 따라 호출 매개 변수 유효성 검사.이러한 함수는 실행을 계속 하도록 허용 된 경우, 반환 EINVAL 및 설정 errno 에 EINVAL.

설명

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

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tputenv_s

_putenv_s

_putenv_s

_wputenv_s

name환경 변수를 추가 하거나 수정 하려면 이름입니다 및 value 변수의 값입니다.경우 name 이미 환경의 일부인 해당 값으로 대체 됩니다 value. 그렇지 않으면 새 name 변수 및 해당 value 은 환경에 추가 됩니다.빈 문자열을 지정 하 여 환경에서 변수를 제거할 수 있습니다 (즉, "")에 대 한 value.

_putenv_s및 _wputenv_s ; 현재 프로세스에 로컬 환경 에서만 영향을 수정 명령 수준 환경을 사용할 수 없습니다.이러한 함수는 런타임 라이브러리에 액세스할 수 있는 데이터 구조에만 하 고 운영 체제에 대 한 프로세스를 만듭니다 "세그먼트" 환경에서 작동 합니다.현재 프로세스를 종료 하면 환경 호출 프로세스는 대부분의 운영 체제 수준 수준으로 되돌아갑니다.그러나 수정 된 환경에서 만든 모든 새 프로세스에 전달 될 수 _spawn, _exec, 또는 system, 및 이러한 새 프로세스에 추가 된 새 항목 가져오기 _putenv_s 및 _wputenv_s.

환경 엔트리를 직접 변경 하지 마십시오. 대신 사용 하 여 _putenv_s 또는 _wputenv_s 변경할 수 있습니다.특히, 요소를 직접 확보는 _environ[] 전역 배열로 처리 해야 하는 잘못 된 메모리를 발생할 수 있습니다.

getenv및 _putenv_s 전역 변수 사용 _environ ; 환경 테이블에 액세스 하려면 _wgetenvand _wputenv_s use _wenviron._putenv_s및 _wputenv_s 의 값이 변경 될 수 있습니다 _environ 및 _wenviron, 및 무효화 되므로 envp 인수를 main , _wenvp 인수를 wmain.따라서 안전 하 게 사용 하는 _environ 또는 _wenviron 환경 정보에 액세스할 수 있습니다.관계에 대 한 자세한 내용은 _putenv_s 및 _wputenv_s 전역 변수를 참조 하십시오. _environ, _wenviron.

[!참고]

_putenv_s_getenv_s 제품군의 함수는 스레드로부터 안전 합니다._getenv_s하는 동안 문자열 포인터를 반환할 수 있습니다 _putenv_s 이며 문자열을 수정 하 여 임의의 오류를 일으킬 합니다.이러한 함수 호출을 동기화 해야 합니다.

요구 사항

루틴

필수 헤더

_putenv_s

<stdlib.h>

_wputenv_s

<stdlib.h> 또는 <wchar.h>

추가 호환성 정보를 참조 하십시오. 호환성.

예제

사용 하는 방법을 보여 주는 샘플에 대 한 _putenv_s을 참조 하십시오 getenv_s, _wgetenv_s.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출 하려면 PInvoke. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.

참고 항목

참조

프로세스 및 환경 제어

getenv, _wgetenv

_searchenv, _wsearchenv