_fullpath, _wfullpath
Nach oben zu stdlib.h - Index
Header-Datei
stdlib.h
Kategorie
Verzeichnisbearbeitungsroutinen
Prototyp
char * _fullpath(char *buffer, const char *path, int buflen);
wchar_t * _wfullpath(wchar_t *buffer, const wchar_t *path, int buflen);
Beschreibung
Konvertiert einen relativen Pfadnamen in einen absoluten.
_fullpath konvertiert den in path angegebenen relativen Pfadnamen in einen absoluten Pfadnamen, der in dem Zeichenarray gespeichert wird, auf das buffer zeigt. Der Parameter buflen gibt die Maximalzahl von Zeichen an, die in buffer gespeichert werden können. Die Funktion gibt NULL zurück, wenn buffer nicht groß genug ist, um den absoluten Pfadnamen aufzunehmen, oder wenn der Pfad einen ungültigen Laufwerksbuchstaben enthält.
Ist buffer NULL, reserviert _fullpath einen Puffer von bis zu _MAX_PATH Zeichen. Dieser Puffer sollte mit free freigegeben werden, wenn er nicht mehr benötigt wird. _MAX_PATH ist in stdlib.h definiert.
Rückgabewert
Wenn erfolgreich, gibt die Funktion _fullpath einen Zeiger auf den Puffer zurück, der den absoluten Pfadnamen enthält.
Bei einem Fehler wird NULL zurückgegeben.
Beispiel
#include <stdio.h>
#include <stdlib.h>
char buf[_MAX_PATH];
void main(int argc, char *argv[])
{
for ( ; argc; argv++, argc--)
{
if (_fullpath(buf, argv[0], _MAX_PATH) == NULL)
printf("Unable to obtain full path of %s\n",argv[0]);
else
printf("Full path of %s is %s\n",argv[0],buf);
}
}
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_fullpath |
+ |
|||
_wfullpath |
Nur NT |