Condividi tramite


_searchenv, _wsearchenv

Utilizza i percorsi dell'ambiente per cercare un file.Più versioni sicure di queste funzioni sono disponibili, vedere _searchenv_s, _wsearchenv_s.

Nota importanteImportante

Questa API non può essere utilizzato nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

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

Parametri

  • filename
    Nome del file da cercare.

  • varname
    Ambiente da cercare.

  • pathname
    Buffer per archiviare il percorso completo.

Note

La routine di _searchenv trova il file di destinazione nel dominio specificato.La variabile di varname può essere qualsiasi ambiente o definita da variabile-, ad esempio PATH, LIB, o INCLUDE(che specifica un elenco dei percorsi di directory.Poiché _searchenv viene fatta distinzione tra maiuscole e minuscole, varname deve corrispondere al caso della variabile.

La routine cerca innanzitutto il file nella cartella di lavoro corrente.Se non trova il file, ricerca nelle directory specificate dalla variabile di ambiente.Se il file di destinazione è in una delle directory, il percorso appena creato verrà copiato in pathname.Se il file di filename non viene trovato, pathname contiene una stringa con terminazione null vuota.

Il buffer di pathname deve essere almeno caratteri di _MAX_PATH tempo per adattare di integrale il nome del percorso costruito.In caso contrario, _searchenv potrebbe sovraccarico del buffer di pathname e causare un comportamento imprevisto.

_wsearchenv è una versione a caratteri estesi di _searchenve gli argomenti a _wsearchenv sono stringhe di caratteri estesi._wsearchenv e _searchenv si comportano in modo identico in caso contrario.

Se filename è una stringa vuota, queste funzioni ENOENTrestituita.

Se filename o pathname è un puntatore di NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, queste funzioni restituiscono -1 e errno impostato su EINVAL.

Per ulteriori informazioni su errno e i codici di errore, vedere costanti di errno.

In C++, queste funzioni in overload che richiama il più recente, più il modello controparti sicure di queste funzioni.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.

Mapping di routine a Testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tsearchenv

_searchenv

_searchenv

_wsearchenv

Requisiti

Routine

Intestazione obbligatoria

_searchenv

<stdlib.h>

_wsearchenv

<stdlib.h> o <wchar.h>

Per ulteriori informazioni di compatibilità, vedere Compatibilità.

Esempio

// 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 );
}
  

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Controllo della directory

getenv, _wgetenv

_putenv, _wputenv

_searchenv_s, _wsearchenv_s