Heim >Backend-Entwicklung >C++ >Wie greife ich in C für Linux zuverlässig auf das Home-Verzeichnis des Benutzers zu?
Erhalten Sie das Benutzer-Home-Verzeichnis unter Linux
Bei der Entwicklung von C-Programmen für Linux ist es häufig erforderlich, auf den Home-Verzeichnispfad des Benutzers zuzugreifen. Es wird jedoch nicht empfohlen, sich auf die Umgebungsvariable HOME zu verlassen. So erhalten Sie das Home-Verzeichnis mit den Funktionen getpwuid und getuid:
<code class="c++">#include <unistd.h> #include <sys/types.h> #include <pwd.h> struct passwd *pw = getpwuid(getuid()); const char *homedir = pw->pw_dir;</code>
Die Funktion getuid() ruft die ID des aktuellen Benutzers ab und getpwuid() verwendet diese ID, um den entsprechenden Passworteintrag abzurufen, der Folgendes enthält: Der in pw->pw_dir gespeicherte Home-Verzeichnispfad des Benutzers. Dieser Ansatz funktioniert sowohl für Linux- als auch für Unix-Systeme.
Erstellen von Dateien/Ordnern im Root-Home-Verzeichnis
Wenn Ihr Programm als Root-Benutzer ausgeführt wird, vermeiden Sie das Erstellen von Dateien/Ordnern im Root-Home-Verzeichnis (/root). Eine Änderung des Root-Home-Verzeichnisses wird im Allgemeinen nicht empfohlen, da dies Auswirkungen auf die Systemstabilität und -sicherheit haben kann. Erwägen Sie stattdessen die Verwendung eines dedizierten Verzeichnisses, das speziell für die Verwendung Ihres Programms erstellt wurde, z. B. /var/[Programmname] oder /opt/[Programmname].
Das obige ist der detaillierte Inhalt vonWie greife ich in C für Linux zuverlässig auf das Home-Verzeichnis des Benutzers zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!