다음을 통해 공유


_searchenv, _wsearchenv

환경 경로 사용 하 여 파일을 검색 합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see _searchenv_s, _wsearchenv_s.

중요중요

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

void _searchenv(
   const char *filename,
   const char *varname,
   char *pathname 
);
void _wsearchenv(
   const wchar_t *filename,
   const wchar_t *varname,
   wchar_t *pathname 
);
template <size_t size>
void _searchenv(
   const char *filename,
   const char *varname,
   char (&pathname)[size]
); // C++ only
template <size_t size>
void _wsearchenv(
   const wchar_t *filename,
   const wchar_t *varname,
   wchar_t (&pathname)[size]
); // C++ only

매개 변수

  • filename
    검색할 파일 이름입니다.

  • varname
    검색 하는 환경입니다.

  • pathname
    전체 경로 저장 하는 버퍼입니다.

설명

_searchenv 지정 된 도메인의 대상 파일에 대 한 일상적인 검색 합니다.varname 환경이 나 사용자 정의 변수는 변수가 될 수 있습니다-예를 들어, PATH, LIB, 또는 INCLUDE-디렉터리 경로의 목록을 지정 합니다.때문에 _searchenv 소문자 varname 환경 변수는 대/소문자가 일치 해야 합니다.

현재 작업 디렉토리에 있는 파일에 대 한 루틴을 먼저 검색합니다.파일을 찾을 경우 환경 변수에 지정 된 디렉터리에서 찾습니다.이러한 디렉터리 중 하나에서 대상 파일이 있으면 새로 만든된 경로에 복사 pathname.경우는 filename 파일을 찾을 수 없습니다 pathname 빈 null로 끝나는 문자열을 포함 합니다.

pathname 버퍼 적어도 있어야 _MAX_PATH 자 생성 된 경로 이름의 전체 길이 맞게.그렇지 않으면 _searchenv 오버런 수는 pathname 버퍼 및 예기치 않은 동작이 발생할.

_wsearchenv와이드 문자 버전인 _searchenv를 인수 하 고 _wsearchenv 와이드 문자 문자열입니다._wsearchenv및 _searchenv 그렇지를 동일 하 게 동작 합니다.

경우 filename 빈 문자열인 경우 이러한 함수는 반환 된 ENOENT.

경우 filename 또는 pathname 되는 NULL 에 설명 된 대로 포인터에 잘못 된 매개 변수 처리기 호출 매개 변수 유효성 검사.이러한 함수 실행을 계속 허용 되 면-1을 반환 하 고 설정 errno 에 EINVAL.

에 대 한 자세한 내용은 errno 및 오류 코드를 참조 하십시오. errno 상수.

C + +에서는 이러한 함수 최신이 고 보다 안전한 대응 함수를 호출 하는 템플릿 오버 로드 되어 있습니다.자세한 내용은 보안 템플릿 오버 로드을 참조하십시오.

일반 텍스트 루틴 매핑

Tchar.h 루틴

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

_Mbcs가 정의

_Unicode가 정의

_tsearchenv

_searchenv

_searchenv

_wsearchenv

요구 사항

루틴

필수 헤더

_searchenv

<stdlib.h>

_wsearchenv

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

자세한 호환성에 대 한 내용은 호환성.

예제

// crt_searchenv.c
// compile with: /W3
// This program searches for a file in
// a directory that's specified by an environment variable.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   char pathbuffer[_MAX_PATH];
   char searchfile[] = "CL.EXE";
   char envvar[] = "PATH";

   // Search for file in PATH environment variable:
   _searchenv( searchfile, envvar, pathbuffer ); // C4996
   // Note: _searchenv is deprecated; consider using _searchenv_s
   if( *pathbuffer != '\0' )
      printf( "Path for %s:\n%s\n", searchfile, pathbuffer );
   else
      printf( "%s not found\n", searchfile );
}
  

해당 .NET Framework 항목

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

참고 항목

참조

디렉터리 제어

getenv, _wgetenv

_putenv, _wputenv

_searchenv_s, _wsearchenv_s