C++ Dateisystem

HPB

Erfahrenes Mitglied
Hallo,
ich habe folgende Frage rund um das Auslesen von Informationen aus dem Dateisystem, könnt Ihr mir helfen?
(Ich arbeite unter windows mit Visual Studio 2005)
  • Unterteilung in Dateiname und Suffix:
    Ich lese eine Datei mit dirent.h:
Code:
DIR *myDir;
struct dirent *myFile;
myFile = readDir(myDir);                      //bspw liefert myFile->d_name "meineDatei.txt"
char* fileName =                                   //wie macht man das ? ("meineDatei")
char* suffix =                                          //wie macht man das ? ("txt")
Gibt es hierfür einen einfachen Weg. Nur nach dem Punkt suchen, reicht nicht, ich habe auch Dateien, bei denen eine Datumsangabe im Namen vorkommt ("2010.05.05 blablub.txt")
  • Suche Datei in Verzeichnis:
    Ich habe wie oben ein Verzeichnis eingelesen. Was ist der geschickteste Weg, um zu überprüfen, ob eine Datei in dem Verzeichnis vorkommt (und mir gleich den handle auf die Datei zu besorgen)
    Bisher mache ich einfach eine Schleife und vergleiche myFile->d_name mit strCmp ob es sich um die gewünschte Datei handelt

Danke für eure Hilfe!
 
Hallo,
ich habe folgende Frage rund um das Auslesen von Informationen aus dem Dateisystem, könnt Ihr mir helfen?
(Ich arbeite unter windows mit Visual Studio 2005)
Unterteilung in Dateiname und Suffix:
Ich lese eine Datei mit dirent.h:
Code:
DIR *myDir;
struct dirent *myFile;
myFile = readDir(myDir);                      //bspw liefert myFile->d_name "meineDatei.txt"
char* fileName =                                   //wie macht man das ? ("meineDatei")
char* suffix =                                          //wie macht man das ? ("txt")

Das hier könnte helfen: http://refactormycode.com/codes/134...ame-and-extension-from-a-path#refactor_518201


Gibt es hierfür einen einfachen Weg. Nur nach dem Punkt suchen, reicht nicht, ich habe auch Dateien, bei denen eine Datumsangabe im Namen vorkommt ("2010.05.05 blablub.txt")

Dann such nach dem letzten Punkt in der Zeichenkette, zumindest unter Windows steht immer nach dem letzten Punkt die Dateiendung. Übrigend das ist oben in der Lösung auch angewandt.

Suche Datei in Verzeichnis:
Ich habe wie oben ein Verzeichnis eingelesen. Was ist der geschickteste Weg, um zu überprüfen, ob eine Datei in dem Verzeichnis vorkommt (und mir gleich den handle auf die Datei zu besorgen)
Bisher mache ich einfach eine Schleife und vergleiche myFile->d_name mit strCmp ob es sich um die gewünschte Datei handelt


Danke für eure Hilfe!

Auch hier gibt es im Internet sehr viele Beispiele wie z. B. das hier: http://www.c-plusplus.de/forum/viewtopic-var-p-is-787904.html#787904

Das muss zwar noch etwas angepasst werden, aber im groben macht die genau was du möchtest ;-)

Gruß
RudolfG
 
  • Gefällt mir
Reaktionen: HPB
  • Gefällt mir
Reaktionen: HPB
Zurück