[gelöst] Unter Windows Pfad zum aktuellen Benutzer herausfinden
-
Ich möchte etwas in den Dateien des Nutzers speichern, der das Programm ausführt.
Dafür brauche ich aber den entsprechenden Pfad.
Beispiel: C:\Benutzer\Max Mustermann
Gibt es dafür eine Funktion aus der std-Bibliothek?
Wenn nein, welche Funktionen daraus brauche ich, um den Pfad selber herauszufinden?
Und welche Header muss ich dafür includen?Ich sammel gerade praktische Erfahrung außerhalb meines Buches.
Ich bin mitten in diesem Buch und kenne die std-Bibliothek deshalb noch nicht so gut, habt bitte Verständnis.
Natürlich habe ich zuerst gegoogelt, bin aber nicht fündig geworden.Danke im Voraus, Timon.
-
Das ist Betriebssystemabhängig. Für Windows sollte es
getenv("USERPROFILE")
tun.
-
Ich brauche ja auch nur Windows, danke.
-
Dann poste im richtigen Forum.
-
In welchem denn? Das ist doch C++ hier.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Der API Weg wäre SHGetKnownFolderPath mit FOLDERID_Profile
https://msdn.microsoft.com/de-de/library/windows/desktop/bb762188(v=vs.85).aspx
-
Verstehe den englischen Microsoft Text aus dem Link leider nicht ganz. Was muss ich der Funktion für meinen Zweck für Parameter übergeben und wo gibt die Funktion den Pfad zurück? Ich brauche ihn eigentlich als char Pointer, char Array oder string.
-
Du bekommst einen Zeiger auf den string, denb Speicher musst Du mit CoTaskmemFree wieder freigeben.
Ich würde Dir dringend raten Englisch zu lernen. So etwas zu verstehen ist das Minimum was Du brauchst.
-
Timon Paßlick schrieb:
In welchem denn? Das ist doch C++ hier.
Ja schon, aber du fragst eine Windows-Frage, wie du ja selbst feststellst. Schon in der Beschreibung dieses Forums steht deutlich geschrieben "Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!"
Wenn in deiner Frage ein Betriebssystem genannt wird, ist sie höchstwahrscheinlich im C++-Forum falsch. Hier geht es um die reine Sprache und deren Umfang, nicht um spezifische Funktionen irgendeines OS. Wenn du das ignorierst, bekommst du schlechtere Antworten, dafür aber mehr Gemecker und ein paar Leute verdrehen vielleicht sogar die Augen ob deines anfängerischen Unwissens.
-
Jetzt ist die Frage ja im richtigen Forum.
-
Martin Richter schrieb:
Ich würde Dir dringend raten Englisch zu lernen. So etwas zu verstehen ist das Minimum was Du brauchst.
Ich bin in einer Schule, in der sogar ein paar Fächer auf Englisch unterrichtet werden und dazu recht gut in Englisch. Kann nur das englische Fachvokabular zum Programmieren nicht. Und das obwohl ich ein englisches Einführungsbuch lese.