fnmerge, _wfnmerge

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu dir.h - Index


Header-Datei

dir.h

Kategorie

Verzeichnisbearbeitungsroutinen

Prototyp

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

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

Beschreibung

Erstellt aus mehreren Teilkomponenten einen Pfadnamen.

fnmerge erstellt aus den angegebenen Komponenten einen Pfadnamen. Der neue Pfadname lautet

X:\DIR\SUBDIR\NAME.EXT

Die Parameter haben folgende Bedeutung:



drive

=

X

dir

=

\\DIR\\SUBDIR\\

name

=

NAME

ext

=

.EXT



Wenn drive leer oder NULL ist, wird der Pfadname ohne Laufwerksangabe erstellt. Wenn kein abschließender Doppelpunkt (:) angegeben wird, wird ein Doppelpunkt in den Pfadnamen eingefügt.

Wenn dir leer oder NULL ist, wird kein Verzeichnisname in den Pfadnamen eingefügt. Wenn kein abschließender Schrägstrich (\ oder /) angegeben wird, wird ein umgekehrter Schrägstrich in den Pfadnamen eingefügt.

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

Wenn ext leer oder NULL ist, wird keine Dateinamenserweiterung in den Pfadnamen eingefügt. Wenn kein Punkt (.) vor der Erweiterung angegeben wird, wird ein Punkt in den Pfadnamen eingefügt.

fnmerge unterstellt, dass in path ausreichend Speicherplatz für den erstellten Pfadnamen verfügbar ist. Die Maximallänge des erstellten Pfadnamens wird durch MAXPATH festgelegt. MAXPATH ist in dir.h definiert.

fnmerge und fnsplit sind invertierbar. Wenn Sie einen gegebenen path mit fnsplit aufteilen und die resultierenden Komponenten mit fnmerge zusammenführen, erhalten Sie wieder path.

Rückgabewert

Keiner.

Beispiel



 #include <string.h>
 #include <stdio.h>
 #include <dir.h>
 int main(void)
 {
    char s[MAXPATH];
    char drive[MAXDRIVE];
    char dir[MAXDIR];
    char file[MAXFILE];
    char ext[MAXEXT];
    getcwd(s,MAXPATH);              /* Aktuelles Arbeitsverzeichnis ermitteln */
    strcat(s,"\\");                 /* Ein Zeichen am Ende anhängen */
    fnsplit(s,drive,dir,file,ext);  /* Den String in einzelne Elemente aufteilen */
    strcpy(file,"DATA");
    strcpy(ext,".TXT");
    fnmerge(s,drive,dir,file,ext);   /* Alle Elemente in einem String zusammenführen */
    puts(s);                         /* Ergebnis-String anzeigen */
    return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

fnmerge

+

_wfnmerge

nur NT