C++ endung von einer Datei auslesen?
es reicht mir auch zu wissen wie ich einen string z.B. in zwei strings "spalte"!
Danke im vorraus
MfG doxo05
3 Antworten
Das kommt drauf an für Dateiendungen kannst du zB die explode Funktion nehmen, die Funktioniert wie in PHP:
http://stackoverflow.com/questions/12966957/is-there-an-equivalent-in-c-of-phps-explode-function
Als delimeter nimmst du "." und der letzte Eintrag in diesem Vektor ist die Dateiendung.
Wenn du aber sagst der Dateiname darf nur einen Punkt enthalten und der steht vor der Endung kannst du mit strchr die Position dieses Punktes erhalten.
Da die Funktion einen Pointer auf die Stelle liefert an der der Punkt ist musst du den Pointer noch incrementieren und dann kannst du dir mit dem String Konstruktor einen neuen String erzeugen welcher nur die Dateiendung enthält.
Für weiter Informationen kannst du auch hier lesen:
http://stackoverflow.com/questions/51949/how-to-get-file-extension-from-string-in-c
Wenn man nicht 100%ig sicher ist, dass die Datei in jedem Fall eine Endung hat und auch nach zukünftigen Änderungen des Programms und seines Datenbestandes haben wird, sollte man das String zuerst nach Pfadtrennern teilen (unixoid: "/", windowsoid: "\", HFS (alte Macs): ":").
In C++.NET kann man auf System::IO::Path::GetExtension(Dateiname) zurückgreifen.
Siehe hier:
http://stackoverflow.com/questions/236129/split-a-string-in-c
Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.
LG Willibergi