AmigaOS Programmierung
Dateipfade zerlegen/zusammenfügen
Die dos.library bietet verschiedene Funktionen zum Thema Dateipfade. An dieser Stelle möchte ich davon drei vorstellen.
#include <stdio.h>
#include <string.h>
#include <proto/dos.h>
int main(int argc, char **argv)
{
//-------------------------------------
//Letzte Komponente des Dateipfades ermitteln
char path[100] = "Ram:Test/file\0";
STRPTR pathend = NULL;
pathend = IDOS->PathPart(path);
printf("%s => %s\n",path,pathend); //Ausgabe: Ram:Test/file => /file
//-------------------------------------
//Letzte Komponente des Dateipfades ermitteln
STRPTR filename = NULL;
strcpy(path,"Ram:Test/file\0");
filename = IDOS->FilePart(path);
printf("%s => %s\n",path,filename); //Ausgabe: Ram:Test/file => file
//-------------------------------------
//Zusammenfügen von Pfad und Dateinamen
char pathname[100]="Ram:Test\0";
printf("%s & %s ",pathname,filename);
IDOS->AddPart(pathname,"file\0",sizeof(pathname));
printf("=> %s\n",pathname); //Ausgabe: Ram:Test & file => Ram:Test/file
return 0;
}
#include <string.h>
#include <proto/dos.h>
int main(int argc, char **argv)
{
//-------------------------------------
//Letzte Komponente des Dateipfades ermitteln
char path[100] = "Ram:Test/file\0";
STRPTR pathend = NULL;
pathend = IDOS->PathPart(path);
printf("%s => %s\n",path,pathend); //Ausgabe: Ram:Test/file => /file
//-------------------------------------
//Letzte Komponente des Dateipfades ermitteln
STRPTR filename = NULL;
strcpy(path,"Ram:Test/file\0");
filename = IDOS->FilePart(path);
printf("%s => %s\n",path,filename); //Ausgabe: Ram:Test/file => file
//-------------------------------------
//Zusammenfügen von Pfad und Dateinamen
char pathname[100]="Ram:Test\0";
printf("%s & %s ",pathname,filename);
IDOS->AddPart(pathname,"file\0",sizeof(pathname));
printf("=> %s\n",pathname); //Ausgabe: Ram:Test & file => Ram:Test/file
return 0;
}