ich suche eine portable Methode um den Pfad des Homeverzeichnisses des Benutzers, der das Programm ausführt, herauszufinden. Und zwar brauche ich das, um ein Log-File erstellen zu können. Das kann ich schließlich nur dort, wo ich Schreibrechte habe.
unter linux kann man eigentlich so weit ich weiß immer die HOME-Envvar verwenden (also getenv("HOME") )
unter Windows kann man da schon spezifischer vorgehen, z.b "Anwendungsdaten" usw, über SHGetFolderPath und Konsorten -- class God : public ChuckNorris { };
Unter Linux ist der Ordner eben meistens /home/[username] und unter Windows meistens CDokumente und Einstellungen\[username]\Anwendungsdaten. Nur mit welcher portablen Lösung komme ich zu diesen Pfaden?
bin mir nicht sicher, aber ich glaube da gibt es gar keine portable Lösung, weil die Systeme sich in ihren Grundkonzepten zu sehr voneinander unterscheiden...
Unter Linux ist der Ordner eben meistens /home/[username] und unter Windows meistens CDokumente und Einstellungen\[username]\Anwendungsdaten. Nur mit welcher portablen Lösung komme ich zu diesen Pfaden?
mit keiner, weil es keine gibt (wie meine Vorredner gesagt haben) -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!
hmm welchen Zusammenhang gibt es zwischen deiner ersten und deiner zweiten Frage? Was für Logfile meinst du? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!Dieser Post wurde am 31.08.2007 um 01:17 Uhr von Pablo editiert.
Hängt davon ab. Im Zweifel schick ich das ganze an den syslog-daemon. Unter Windows gabs, glaub ich, eine EventLog-Funktion oder so ähnlich. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra