Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

realpath - echten Dateinamen/Pfadnamen ausgeben

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

char *realpath (const char *file_name, char *resolved_name);

Beschreibung

realpath() leitet aus dem in file_name angegebenen Pfadnamen einen absoluten Pfadnamen ab, in dem alle symbolischen Verweise und Referenzen auf ’.’ und ’..’ aufgelöst sind. Dieser „echte“ Pfadname wird bis zu {MAX_PATH} Bytes in resolved_name gespeichert.

Es können sowohl relative als auch absolute Pfadnamen verarbeitet werden. Bei absoluten Pfadnamen und relativen Pfadnamen, deren aufgelöster Name nicht relativ ausgedrückt werden kann (z.B. ../../reldir), wird der aufgelöste absolute Name zurückgegeben. Für die anderen relativen Pfadnamen wird der aufgelöste relative Name zurückgegeben.

resolved_name muss groß genug sein, um den aufgelösten Pfadnamen aufzunehmen.

Returnwert

Zeiger auf resolved_name



bei Erfolg.

 

Nullzeiger

sonst. errno wird gesetzt, um den Fehler anzuzeigen

Fehler

realpath() schlägt fehl, wenn gilt:

 

EACCES

Für eine Komponente von file_name besteht keine Lese- oder Suchberechtigung.

 

EINVAL

Das Argument file_name oder resolved_name ist ein Nullzeiger.

 

EIO

Es trat ein Ein-/Ausgabefehler auf beim Lesen aus dem Dateisystem.


ENAMETOOLONG

 

Die Länge des file_name-Arguments überschreitet {PATH_MAX}, oder die Länge einer Komponente von file_name überschreitet {NAME_MAX}.

Bei der Auflösung eines symbolischen Verweises in path kam es zu einem Zwischenergebnis, dessen Länge {PATH_MAX} überschreitet.

 

ENOENT

Eine Komponente des Pfadpräfixes existiert nicht oder file_name ist ein leerer String.

 

ENOTDIR

Eine Komponente des Pfadpräfixes ist kein Verzeichnis.

 

ENOMEM

Es steht nicht mehr genügend Speicherplatz zur Verfügung.

Hinweise

realpath() behandelt nullterminierte Zeichenketten.

Sie sollten Ausführungsrechte für alle Verzeichnisse besitzen, die sich im gegebenen und aufgelösten Pfad befinden.

realpath() kehrt unter Umständen nicht zum aktuellen Verzeichnis zurück, falls ein Fehler auftritt.

Siehe auch

getcwd(), sysconf(), stdlib.h.