_searchstr, _wsearchstr
Nach oben zu stdlib.h - Index
Header-Datei
stdlib.h
Kategorie
Verschiedene Routinen
Prototyp
void _searchstr(const char *file, const char *ipath, char *buf);
void _wsearchstr(const wchar_t *file, const wchar_t *ipath,wchar_t *pathname);
Beschreibung
Sucht in einer Liste von Verzeichnissen nach einer Datei.
_searchstr sucht nach einer Datei und verwendet dabei die im String ipath angegebenen Verzeichnisse.
_searchstr sucht die Datei zunächst im aktuellen Verzeichnis des aktuellen Laufwerks. Wird die Datei dort nicht gefunden, durchsucht die Funktion alle in ipath angegebenen Verzeichnisse, bis die Datei gefunden ist oder keine weiteren Verzeichnisse angegeben sind. Die Verzeichnisse in ipath müssen durch einen Strichpunkt voneinander getrennt sein.
Wurde die Datei gefunden, wird der vollständige Pfadname in dem Puffer gespeichert, auf den buf zeigt. Dieser String kann dann für Zugriffe auf die Datei (zum Beispiel mit fopen oder exec) verwendet werden. Es wird angenommen, dass der Puffer groß genug ist, um den ermittelten Dateinamen aufnehmen zu können. Die Dateinamen dürfen nicht länger sein als in der Konstanten _MAX_PATH (in stdlib.h definiert) festgelegt. Wurde die Datei nicht gefunden, wird nur ein Nullzeichen, also ein leerer String in buf gespeichert.
Rückgabewert
Keiner.
Beispiel
#include <stdio.h> #include <stdlib.h> char buf[_MAX_PATH]; int main(void) { /* Nach ILINK32.EXE suchen */ _searchstr("ILINK32.EXE", getenv("PATH"), buf); if (buf[0] == '\0') printf ("ILINK32.EXE not found\n"); else printf ("ILINK32.EXE found in %s\n", buf); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_searchstr |
+ |
|||
_wsearchstr |
Nnur NT |