_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.