fnmerge, _wfnmerge
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 |