Sorry, habe ich aus versehen nur an Jan geschickt :-(
andy
--
-------------------------------
mailto:Andreas.Tirok@beusen.de
fon: +49 30 549932-37
fax: +49 30 549932-21
<STRONG>attached mail follows:</STRONG><HR>
ich glaube Ziel der Uebung war den Verzeichnisnamen des Programmes
herauszubekommen. Ich denke so funktioniert es (uebrigens unter 6.4
mit gcc probiert) :-)
#include
On Fre, Dez 22, 2000 at 06:23:38 +0100, Eilert Brinkmann wrote: [...]
Der Ansatz mit argv[0] ist richtig, aber so wird die letzte Pfadkomponente mitsamt dem davorstehenden Schrägstrich kopiert. Den Pfad des Verzeichnisses, in dem das Programm liegt, bekommt man, indem man argv[0] kopiert und den hinteren Teil abschneidet:
char* progname; if (strchr (argv[0], '/') == NULL) { /* Falls der Programmname ohne Pfad enthalten ist, aktuelles */ * Verzeichnis annehmen. Bin mir nicht sicher, ob das vorkommen kann. */ progname = strdup ("."); } else { /* Sonst Pfad kopieren und letzte Komponente abschneiden. */ progname = strdup (argv[0]); *(strrchr (progname, "/")) = '\0'; ^^^^^^^^^ Das klappt nicht (zumindest bei mir gibt's einen Compilerfehler). So ginge es, auch wenn es nicht besonders hübsch ist: memcpy ( (char *) strrchr (progname, '/'), (char *) "", 1); }
Jan
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
-- ------------------------------- mailto:Andreas.Tirok@beusen.de fon: +49 30 549932-37 fax: +49 30 549932-21 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com