Share via


_searchenv, _wsearchenv

Procura um arquivo usando o ambiente de caminhos.Versões mais seguras dessas funções estão disponível; consulte _searchenv_s, _wsearchenv_s.

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

Parâmetros

  • filename
    Nome do arquivo para procurar.

  • varname
    Ambiente de Pesquisar.

  • pathname
    Buffer para armazenar o caminho completo.

Comentários

The _searchenv pesquisas de rotina para o arquivo de destino no domínio especificado. The varname variável pode ser qualquer ambiente ou variável definida pelo usuário que especifica uma lista de caminhos de diretório, tal sistema autônomo PATH, LIB, e INCLUDE. Porque _searchenv diferenciar diferenciar maiúsculas de minúsculas, varname deve corresponder ao caso da variável de ambiente.

A rotina procura primeiro o arquivo no diretório de trabalho corrente.Se ele não localizar o arquivo, procura próxima por meio de diretórios especificados pela variável de ambiente.Se o arquivo de destino estiver em um desses diretórios, o caminho recém-criado é copiado para pathname. Se o filename arquivo não for encontrado, pathname contém uma seqüência de caracteres vazia terminada com caractere nulo.

The pathname buffer deve ser pelo menos _MAX_PATH caracteres de comprimento para acomodar o completo comprimento do nome do caminho construído. Caso contrário, _searchenv saturação pode ser o pathname buffer resultando em um comportamento inesperado.

_wsearchenvé uma versão de caractere largo da _searchenv; os argumentos para _wsearchenvsão seqüências de caracteres largos. _wsearchenv e _searchenv tenham comportamento idêntico caso contrário.

If filename é uma seqüência vazia, essas funções retornam ENOENT.

If filename é um NULL ponteiro, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam -1 e conjunto errno para EINVAL.

Para obter mais informações sobre o errno e códigos de erro, consulte Constantes errno.

No C++, essas funções têm sobrecargas de modelo que invocam as suas similares do mais recentes, seguras dessas funções.For more information, see Proteger overloads de modelo.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tsearchenv

_searchenv

_searchenv

_wsearchenv

Requisitos

Rotina

Cabeçalho necessário

_searchenv

<stdlib.h>

_wsearchenv

<stdlib.h> ou <wchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

// crt_searchenv.c
// compile with: /W3
// This program searches for a file in
// a directory 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 );
}

Path for CL.EXE: C:\Program Files\Microsoft Visual Studio 8\VC\BIN\CL.EXE

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Controle de diretório

GETENV, _wgetenv

_putenv, _wputenv

_searchenv_s, _wsearchenv_s