Seite 1 von 1
Pfad extrahieren
Verfasst: 1. August 2009 22:33
von lodo2609
Hallo zusammen,
wie kann ich einen Pfad aus einem String extrahieren?
Code: Alles auswählen
void Test()
{
QString test1 = QCoreApplication::applicationFilePath();
QDir dir(test1);
textEdit->append(test1);
textEdit->append(dir.path());
textEdit->append(dir.filePath(test1));
}
liefert mit den letzten beiden Möglichkeiten immer den Pfad incl. der exe-Datei, ich möchte nur das Stück davor.
Gruss Lodo2609
Verfasst: 2. August 2009 03:07
von Whitefurrows
Zum Beispiel so:
Code: Alles auswählen
QDir dir(QCoreApplication::applicationFilePath());
qDebug() << dir.currentPath();
Verfasst: 2. August 2009 03:25
von FaS
Nein. currentPath() ist eine statische Methode und berücksichtigt die Instanz "dir" nicht. Und der Zusammenhang mit applicationFilePath() ist sowieso nicht gegeben - in diesem Beispiel wäre QCoreApplication::applicationDirPath() passend.
Aber gesucht ist wohl eher ein allgemeingültiger Weg, welcher da lautet:
QString QFileInfo::path () const.
MfG,
FaS
Verfasst: 2. August 2009 12:54
von androphinx
es wäre aber auch möglich, den string herzunehmen und den dateinamen auszuschneiden, etwa so:
Code: Alles auswählen
QString filepath("/home/blablabla/projects/theprog/bin/theprog"); /Beispiel!!!
QString dir = filepath.left(filepath.lastIndexOf("/");
Verfasst: 2. August 2009 13:05
von FaS
Wenn man einige Dinge vorraussetzen kann, ja. Diese path()-Methode ist etwas komplizierter aufgebaut. Beispielsweise würde sie auch bei einer relativen Pfadangabe ohne einen Unterordner, z.B. "datei.txt", korrekterweise "." zurückgeben.