Dateisuche unter Mac OS
-
ah ok, und "\=" ist also auf jedem Betriebssystem gültig?
Das bring mich gleich zur nächsten Frage:
Ist GetLogicalDriveStringsA() und GetDriveTypeA() nicht auch nur unter Windows verwendbar?Danke
geneticZ
-
1. Ja, ist es (unter allen unterstützten Betriebssystemen natürlich).
2. Das sind doch reine WinAPI-Funktionen oder? Also funktionieren die nur unter Windows.
-
ja, denke schon!
gibt es zu den Funktionen irgendwelche Alternativen?
-
Kommt drauf an, was genau Du willst.
Willst Du alle vorhandenen Laufwerke auflisten?
-
Ja, also mein bisheriges Programm listet mit GetLogicalDriveStringsA() alle vorhanden Laufwerke auf und checkt diese dann mit GetDriveTypeA() welchem Type sie angehören.
Danach wird eben das erste Drive hergenommen und nach dem File durchsucht.Danke
geneticZ
-
hmm, glaube nicht dass Du mit boost::filesystem eine plattformübergreifende Möglichkeit für die Auflistung
der Laufwerke und -typen hast.
Dazu müsstest Du wohl, je nachdem für welches Betriebssystem Du gerade
kompilierst, entsprechende API-Funktionen verwenden.
-
Ok, weiss da jemand wie das dann für MAC OS aussehen müsste?
-
vielleicht findest Du hier was
-
In Mac OS X sind verwendbare Partitionen unter /Volumes eingehängt. Wenn du also z. B. eine Partition mit der Bezeichnung "mac" hast, ist alles, was du machen musst, nachsehen ob "/Volumes/mac/blabla.exe" existiert. Wenn du eine DVD "film" hast, musst du nachsehen, ob "/Volumes/film/blabla.exe" existiert. Sind alles normale Verzeichnisse. Können genau so gehandhabt und durchsucht werden wie normale Ordner. Völlig analog mit externen Festplatten, CD-Laufwerken, USB-Sticks oder sogar eingehängten Netzwerk-Freigaben. Alles was eingehängt und verwendbar ist, erscheint als Ordner unter /Volumes. Willst du alle verwendbare Geräte auflisten, musst du einfach nur die Ordner unter /Volumes auflisten.
-
minhen schrieb:
In Mac OS X sind verwendbare Partitionen unter /Volumes eingehängt. Wenn du also z. B. eine Partition mit der Bezeichnung "mac" hast, ist alles, was du machen musst, nachsehen ob "/Volumes/mac/blabla.exe" existiert. Wenn du eine DVD "film" hast, musst du nachsehen, ob "/Volumes/film/blabla.exe" existiert. Sind alles normale Verzeichnisse. Können genau so gehandhabt und durchsucht werden wie normale Ordner. Völlig analog mit externen Festplatten, CD-Laufwerken, USB-Sticks oder sogar eingehängten Netzwerk-Freigaben. Alles was eingehängt und verwendbar ist, erscheint als Ordner unter /Volumes. Willst du alle verwendbare Geräte auflisten, musst du einfach nur die Ordner unter /Volumes auflisten.
ah, sehr schön!
Und wie könnte ich alle vorhandenen "Volumes" erstmal auflisten?
Und dann vielleicht checken ob es ne Festplatte, Floppy oder CD-Rom Laufwerk ist?Danke im Voraus
geneticZ
-
Also, ich würde ml sagen du lernst die API von jedem Betriebssystem, z.b WinAPI für Windows.
Dann benutzt du alle Drei APIs, und unterscheidest diese im code mit #ifndef und #endif, dann läuft das Programm auf dem OS, auf welches du es auch compiliert hast! Dann Compilierst du das einmal auf alle drei Betriebssystemen und schon hast du es für alle 3, Mac, windoof und den fluguntauglichen Vogel!