다음을 통해 공유


_dupenv_s, _wdupenv_s

현재 환경에서 값을 가져옵니다.

중요중요

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

errno_t _dupenv_s(
   char **buffer,
   size_t *numberOfElements,
   const char *varname
);
errno_t _wdupenv_s(
   wchar_t **buffer,
   size_t *numberOfElements,
   const wchar_t *varname
);

매개 변수

  • buffer
    변수의 값을 저장 하는 버퍼입니다.

  • numberOfElements
    Size of buffer.

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

반환 값

성공, 실패 시 오류 코드를 0입니다.

이러한 함수는 매개 변수 유효성을 검사; 경우 buffer 또는 varname 는 NULL에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.실행을 계속 허용 되 면 기능 설정 errno 에 EINVAL 및 반환 EINVAL.

메모리가 부족 하 여 이러한 함수를 할당할 수 없습니다 경우 buffer 에 NULL 및 numberOfElements 0과 반환 ENOMEM.

설명

_dupenv_s 함수에 대 한 환경 변수의 목록 검색 varname.변수가 없는 경우 _dupenv_s 버퍼를 할당 하 고 변수 값을 버퍼에 복사 합니다.반환 되는 버퍼의 주소와 길이 buffer 및 numberOfElements.버퍼를 할당 하 여 _dupenv_s 편리한 대신 사용할 수 있는 제공 getenv_s, _wgetenv_s.

[!참고]

호출 프로그램의 책임을 호출 하 여 메모리를 해제 하는 것이 free.

변수를 다음 발견 되지 않을 경우 buffer 로 설정 된 NULL, numberOfElements 0으로 설정 되어 및 반환 값 0 이므로이 경우는 오류 조건으로 간주 되지 않습니다.

버퍼의 크기에 관심이 없는 경우 전달할 수 있습니다 NULL 에 대 한 numberOfElements.

_dupenv_sWindows 운영 체제에서 대 / 소문자입니다._dupenv_s전역 변수를 통해 가리키는 환경의 복사본을 사용 하 여 _environ 환경에 액세스할 수 있습니다.설명 부분을 참조 하십시오. getenv_s, _wgetenv_s 에 대 한 _environ.

값을 buffer 그렇지 않으면 환경 변수 값의 복사본입니다 수정 없는 환경에는 영향을 주지 않습니다.사용 된 _putenv_s, _wputenv_s 함수는 환경 변수의 값을 수정할 수 있습니다.

_wdupenv_s와이드 문자 버전인 _dupenv_s. 인수를 _wdupenv_s 와이드 문자 문자열입니다._wenviron 전역 변수인 와이드 문자 버전을 _environ.설명 부분을 참조 하십시오. getenv_s, _wgetenv_s 에 대 한 자세한 내용은 _wenviron.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

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

_Mbcs가 정의

_Unicode가 정의

_tdupenv_s

_dupenv_s

_dupenv_s

_wdupenv_s

요구 사항

루틴

필수 헤더

_dupenv_s

<stdlib.h>

_wdupenv_s

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

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_dupenv_s.c
#include  <stdlib.h>

int main( void )
{
   char *pValue;
   size_t len;
   errno_t err = _dupenv_s( &pValue, &len, "pathext" );
   if ( err ) return -1;
   printf( "pathext = %s\n", pValue );
   free( pValue );
   err = _dupenv_s( &pValue, &len, "nonexistentvariable" );
   if ( err ) return -1;
   printf( "nonexistentvariable = %s\n", pValue );
   free( pValue ); // It's OK to call free with NULL
}

샘플 출력

pathext = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.pl
nonexistentvariable = (null)

해당 .NET Framework 항목

System::Environment::GetEnvironmentVariable

참고 항목

참조

프로세스 및 환경 제어

환경 상수

_dupenv_s_dbg, _wdupenv_s_dbg

getenv_s, _wgetenv_s

_putenv_s, _wputenv_s