Zum Inhalt springen

Empfohlene Beiträge

Geschrieben
Original geschrieben von nic_power

mit getcwd() bzw. getcwd().

Könnte problematisch werden, wenn man ein Programm aus einem anderen Verzeichnis aufruft. Aber dann müsste man sich den Pfad aus getcwd() und argv[0] zusammenbasteln können.
Geschrieben

getcwd liefert nur das aktuelle Verzeichnis zurück. Das ist nicht zwingend das, in welchem das Programm liegt (Beispiel ein Service unter Windows. cwd ist immer (!!!!) system32, Datei liegt aber in d:\....). Das Programmverzeichnis ist in der Regel in argv[0] implizit enthalten. Dort wird nämlich der vollständige Programmname mit Pfad angegeben. Das Programmverzeichnis kann man daraus extrahieren. Leider gibt es nun mal keine Regel ohne Ausnahme. Der Programmpfad kann auch fehlen und nur der Programmname enthalten sein. In dem Fall ist cwd gleich dem Programmpfad.

Geschrieben
Original geschrieben von Manitu

getcwd liefert nur das aktuelle Verzeichnis zurück. Das ist nicht zwingend das, in welchem das Programm liegt (Beispiel ein Service unter Windows. cwd ist immer (!!!!) system32, Datei liegt aber in d:\....). Das Programmverzeichnis ist in der Regel in argv[0] implizit enthalten. Dort wird nämlich der vollständige Programmname mit Pfad angegeben. /B]

Das funktioniert nur, wenn das Programm auch mit dem absoluten Pfad aufgerufen wird, ansonsten steht auch in argv[0] nur der relative Pfad. Eine Moeglichkeit besteht darin, den Suchpfad innerhalb des Programms "manuell" abzuklappern, eine allgemeingueltige Loesung gibts allerdings nicht (leider).

Nic

PS:

cwd ist bei mir niemals "system32", da dieses Verzeichnis auf Unix-Systemen ueblicherweise nicht existiert.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...