_putenv, _wputenv
수정, 만들거나 환경 변수를 제거 합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see _putenv_s, _wputenv_s.
중요 |
---|
이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
int _putenv(
const char *envstring
);
int _wputenv(
const wchar_t *envstring
);
매개 변수
- envstring
환경 문자열 정의입니다.
반환 값
성공 하면 0 또는-1 오류를 반환 합니다.
설명
_putenv 함수 새 환경 변수를 추가 하거나 기존 환경 변수의 값을 수정 합니다.환경 변수는 프로세스 (예를 들어, 프로그램에 연결 된 라이브러리에 대 한 기본 검색 경로) 실행 되는 환경을 정의 합니다._wputenv와이드 문자 버전인 _putenv. envstring 한 인수 _wputenv 와이드 문자 문자열입니다.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tputenv |
_putenv |
_putenv |
_wputenv |
envstring 폼의 문자열에 대 한 포인터 인수는 varname=string, varname 환경 변수를 추가 하거나 수정 하려면 이름입니다 및 string 변수의 값입니다.경우 varname 이미 환경의 일부인 해당 값으로 대체 됩니다 string. 그렇지 않으면 새 varname 변수 및 해당 string 값을 환경에 추가 됩니다.빈을 지정 하 여 환경에서 변수를 제거할 수 있습니다 string -만 지정 하 여 즉, varname=.
_putenv및 _wputenv ; 현재 프로세스에 로컬 환경 에서만 영향을 수정 명령 수준 환경을 사용할 수 없습니다.즉, 이러한 함수는 런타임 라이브러리에 액세스할 수 있는 데이터 구조 및 프로세스의 운영 체제에서 만든 환경 세그먼트 않습니다만 작동 합니다.현재 프로세스를 종료 하는 경우 호출 하는 프로세스 (대부분의 경우 운영 체제 수준) 수준의 환경이 되돌립니다.그러나 수정 된 환경에서 만든 모든 새 프로세스에 전달 될 수 _spawn, _exec, 또는 system을 하 고 이러한 새 프로세스에 추가한 새 항목 _putenv 및 _wputenv.
환경 엔트리를 직접 변경 하지 마십시오: 대신 사용 하 여 _putenv 또는 _wputenv 변경할 수 있습니다.특히, 요소를 직접 확보는 _environ[] 전역 배열 처리 되 고 잘못 된 메모리를 발생할 수 있습니다.
getenv및 _putenv 전역 변수 사용 _environ ; 환경 테이블에 액세스 하려면 _wgetenvand _wputenv use _wenviron._putenv및 _wputenv 의 값이 변경 될 수 있습니다 _environ 및 _wenviron, 따라서 무효화는 _envp 인수를 main 및 _wenvp 인수를 wmain.따라서 안전 하 게 사용 하는 _environ 또는 _wenviron 환경 정보에 액세스할 수 있습니다.관계에 대 한 자세한 내용은 _putenv 및 _wputenv 전역 변수를 참조 하십시오. _environ, _wenviron.
[!참고]
_putenv 및 _getenv 제품군의 함수는 스레드로부터 안전 합니다._getenv하는 동안 문자열 포인터를 반환할 수 있습니다 _putenv 임의의 오류를 유발 하 여 문자열을 수정 합니다.이러한 함수 호출을 동기화 해야 합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_putenv |
<stdlib.h> |
_wputenv |
<stdlib.h> 또는 <wchar.h> |
자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.
예제
샘플을 사용 하는 방법에 대 한 _putenv을 참조 하십시오 getenv, _wgetenv.
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출 하려면 PInvoke. 자세한 내용은 플랫폼 호출 예제.