Pfad extrahieren

Alles rund um die Programmierung mit Qt
Antworten
lodo2609
Beiträge: 13
Registriert: 19. Juli 2009 11:04

Pfad extrahieren

Beitrag 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
Whitefurrows
Beiträge: 138
Registriert: 1. Mai 2006 19:50

Beitrag von Whitefurrows »

Zum Beispiel so:

Code: Alles auswählen

	QDir dir(QCoreApplication::applicationFilePath());
	qDebug() << dir.currentPath();
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag 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
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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("/");
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag 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.
Antworten