Filename meines Programms auslesen
-
Guten Tag zusammen,
ich bräuchte etwas Hilfe und wäre sehr dankbar wenn mir da jemand weiterhelfen könnte.
Die Problemstellung ist folgende:
Wie kann ich in C, meinen aktuellen Programmnamen in eine Variable abspeichern?Leider funktioniert argv[1] bei mir nicht, da die Variable mit dem Wert "dummyProgName" befüllt wird.
Gibt es vielleicht einen anderen Weg den ich nehmen könnte um den aktuellen Programmnamen abzureifen?
Hinweis: Ich bräuchte Zugriff auf den Dateinamen, da im Dateinamen der Port steht, der beim ausführen der Datei verwendet werden soll.
Vielen Dank im Voraus.
-
War das nicht argv[0]?
Ansonsten hängts vom Betriebssystem ab, wieviel Du kriegt.
-
In argv[1] steht der erste dem Programm übergebene Parameter, nicht der Programmname.
Beim Aufruf"programm 1234"
steht also in
argv[0] -> "" oder "(optionalerpfad)/programm"
und in
argv[1] -> "1234"
Deine Portnummer als int geht dann einfach:
int pnr = atoi(argv[1]);
-
Fragen kann geschlossen werden.
-
Wutz schrieb:
In argv[1] steht der erste dem Programm übergebene Parameter, nicht der Programmname.
Beim Aufruf"programm 1234"
steht also in
argv[0] -> "" oder "(optionalerpfad)/programm"
und in
argv[1] -> "1234"
Deine Portnummer als int geht dann einfach:
int pnr = atoi(argv[1]);
Vielen Dank an volkard und Wutz hat funktioniert.
-
Bitte bestätige aber auch noch, dass du alleine auf die Idee gekommen bist, vor dem Auswerten von argv[1] zu prüfen, ob es überhaupt existiert, und nach dem Auswerten zu prüfen, ob atoi auch funktioniert hat.