(0) exportieren Drucken
Alle erweitern
CAB
Uhr
EOF
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

_searchenv_s, _wsearchenv_s

Sucht eine Datei mit der Umgebungspfade. Diese sind Versionen von _searchenv, _wsearchenv mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.

Wichtiger Hinweis Wichtig

Dieses API kann nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

errno_t _searchenv_s( const char *filename, const char *varname, char *pathname, size_t numberOfElements ); errno_t _wsearchenv_s( const wchar_t *filename, const wchar_t *varname, wchar_t *pathname, size_t numberOfElements ); template <size_t size> errno_t _searchenv_s( const char *filename, const char *varname, char (&pathname)[size] ); // C++ only template <size_t size> errno_t _wsearchenv_s( const wchar_t *filename, const wchar_t *varname, wchar_t (&pathname)[size] ); // C++ only
[in] filename

Name der zu suchenden Datei.

[in] varname

Die zu durchsuchende Umgebung.

[out] pathname

Der Puffer für die Speicherung des vollständigen Pfads.

[in] numberOfElements

Größe des pathname Puffers.

0, wenn erfolgreich, andernfalls ein Fehlercode.

Wenn filename eine leere Zeichenfolge ist, lautet der Rückgabewert ENOENT.

Fehlerbedingungen

filename

varname

pathname

numberOfElements

Rückgabewert

Inhalt von pathname

beliebig

beliebig

NULL

beliebig

EINVAL

nicht verfügbar

NULL

beliebig

beliebig

beliebig

EINVAL

nicht geändert

beliebig

beliebig

beliebig

<= 0

EINVAL

nicht geändert

Wenn eine dieser Fehlerbedingungen auftritt, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung fortgesetzt werden darf, setzen diese Funktionen errno auf EINVAL und geben EINVAL zurück.

Die _searchenv_s Routinensuchen für die Zieldatei in der angegebenen Domäne. Die varname-Variable kann jede Umgebung oder benutzerdefinierte Variable sein, die eine Liste von Verzeichnispfaden, wie PATH, LIB und INCLUDE angibt. Da _searchenv_s die Groß-/Kleinschreibung beachtet wird, sollte varname den Fall von der Umgebungsvariablen übereinstimmen. Wenn varname nicht den Namen einer Umgebungsvariable übereinstimmt, die in der Umgebung des Prozesses definiert ist, gibt die Funktion null zurück und die pathname-Variable ist unverändert.

Die Routine durchsucht zuerst für die Datei im aktuellen Arbeitsverzeichnis. Wenn sie nicht die Datei findet, wird sie als Nächstes durch die Verzeichnisse, die in der - Umgebungsvariablen angegeben werden. Wenn die Zieledatei in einem dieser Verzeichnisse ist, wird der neu erstellte Pfad in pathname kopiert. Wenn die filename Datei nicht gefunden wird, enthält pathname eine leere auf NULL endende Zeichenfolge.

Der pathname Puffer sollte _MAX_PATH Zeichen mindestens sein, lang, um das in voller Länge des erstellten Pfadnamens angepasst. Andernfalls überliefe möglicherweise _searchenv_s den pathname Puffer mit dem Ergebnis des unerwarteten Verhaltens.

_wsearchenv_s ist eine Breitzeichen-Version von _searchenv_s; die Argumente zu _wsearchenv_s sind Breitzeichen-Zeichenfolgen. _wsearchenv_s und _searchenv_s verhalten sich andernfalls identisch.

In C++ mithilfe dieser Funktionen wird durch Vorlagenüberladungen vereinfacht; die Überladungen können die Pufferlänge (die Anforderung automatisch beseitigend ableiten, ein Größenargument anzugeben) und können die älteren, nicht-sicheren Funktionen durch ihre späteren, sicheren Entsprechungen automatisch ersetzen. Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.

Zuordnung generische Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS undefiniert

_MBCS definiert

_UNICODE definiert

_tsearchenv_s

_searchenv_s

_searchenv_s

_wsearchenv_s

Routine

Erforderlicher Header

_searchenv_s

<stdlib.h>

_wsearchenv_s

<stdlib.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

// crt_searchenv_s.c
/* 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";
   errno_t err;

   /* Search for file in PATH environment variable: */
   err = _searchenv_s( searchfile, envvar, pathbuffer, _MAX_PATH );
   if (err != 0)
   {
      printf("Error searching the path. Error code: %d\n", err);
   }
   if( *pathbuffer != '\0' )
      printf( "Path for %s:\n%s\n", searchfile, pathbuffer );
   else
      printf( "%s not found\n", searchfile );
}
Pfad für CL.EXE: C:\Programme\Microsoft Visual Studio 2010\VC\BIN\CL.EX

Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.