_makepath, _wmakepath

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdlib.h - Index


Header-Datei

stdlib.h

Kategorie

Verzeichnisbearbeitungsroutinen

Prototyp

void _makepath(char *path, const char *drive, const char *dir, const char *name, const char *ext);

void _wmakepath(wchar_t *path, const wchar_t *drive, const wchar_t *dir, const wchar_t *name, const wchar_t *ext);

Beschreibung

Setzt Komponenten zu einem Pfadnamen zusammen.

_makepath erstellt einen Pfadnamen aus entsprechenden Komponenten. Der neue Pfadname entspricht der Form

X:\DIR\SUBDIR\NAME.EXT

wobei



drive

=

X:

dir

=

\DIR\SUBDIR\

name

=

NAME

ext

=

.EXT



Ist drive leer oder NULL, wird kein Laufwerksbuchstabe in den Pfadnamen eingefügt. Fehlt der nachstehende Doppelpunkt (:), wird ein Doppelpunkt in den Pfadnamen eingefügt.

Ist dir leer oder NULL, wird keine Verzeichnisangabe in den Pfadnamen eingefügt. Fehlt der nachstehende Schrägstrich (\ oder /), wird ein umgekehrter Schrägstrich in den Pfadnamen eingefügt.

Ist name leer oder NULL, wird kein Dateiname in den Pfadnamen eingefügt.

Ist ext leer oder NULL, wird keine Erweiterung in den Pfadnamen eingefügt. Fehlt der führende Punkt (.), wird ein Punkt in den Pfadnamen eingefügt.

_makepath geht davon aus, dass in path ausreichend Platz für den erstellten Pfadnamen verfügbar ist. Die maximale Länge des Pfadnamens darf _MAX_PATH nicht überschreiten. _MAX_PATH ist in stdlib.h definiert.

Die Funktionen _makepath und _splitpath sind invertierbar. Wenn Sie einen Pfadnamen mit _splitpath aufteilen und dann die zurückgegebenen Elemente an _makepath übergeben, erhalten Sie wieder den ursprünglichen Pfadnamen.

Ist drive leer oder NULL, wird kein Laufwerksbuchstabe in den Pfadnamen eingefügt. Fehlt der nachstehende Doppelpunkt (:), wird ein Doppelpunkt in den Pfadnamen eingefügt.

Ist dir leer oder NULL, wird keine Verzeichnisangabe in den Pfadnamen eingefügt. Fehlt der nachstehende Schrägstrich (\ oder /), wird ein umgekehrter Schrägstrich in den Pfadnamen eingefügt.

Ist name leer oder NULL, wird kein Dateiname in den Pfadnamen eingefügt.

Ist ext leer oder NULL, wird keine Erweiterung in den Pfadnamen eingefügt. Fehlt der führende Punkt (.), wird ein Punkt in den Pfadnamen eingefügt.

_makepath geht davon aus, dass in path ausreichend Platz für den erstellten Pfadnamen verfügbar ist. Die maximale Länge des Pfadnamens darf _MAX_PATH nicht überschreiten. _MAX_PATH ist in stdlib.h definiert.

Die Funktionen _makepath und _splitpath sind invertierbar. Wenn Sie einen Pfadnamen mit _splitpath aufteilen und dann die zurückgegebenen Elemente an _makepath übergeben, erhalten Sie wieder den ursprünglichen Pfadnamen.

Beispiel



 #include <dir.h>
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
 int main(void)
 {
   char s[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char file[_MAX_FNAME];
   char ext[_MAX_EXT];
   getcwd(s,_MAX_PATH);           /* Aktuelles Arbeitsverzeichnis ermitteln */
  if (s[strlen(s)-1] != '\\')
      strcat(s,"\\");             /* Umgekehrten Schrägstrich \ anhängen */
   _splitpath(s,drive,dir,file,ext); /* String in seine Elemente
     aufteilen */
   strcpy(file,"DATA");
   strcpy(ext,".TXT");
   _makepath(s,drive,dir,file,ext); /* Alles wieder zusammensetzen */
   puts(s);                       /* Ergebnis anzeigen */
   return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

_makepath

+

_wmakepath

+