Maison >développement back-end >C++ >Comment accéder de manière fiable au répertoire personnel de l'utilisateur en C pour Linux ?
Obtenir le répertoire personnel de l'utilisateur sous Linux
Lors du développement de programmes C pour Linux, il est souvent nécessaire d'accéder au chemin du répertoire personnel de l'utilisateur. Cependant, il n'est pas recommandé de s'appuyer sur la variable d'environnement HOME. Voici comment obtenir le répertoire personnel à l'aide des fonctions getpwuid et 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>
La fonction getuid() récupère l'ID de l'utilisateur actuel, et getpwuid() utilise cet ID pour obtenir l'entrée de mot de passe correspondante, qui inclut le chemin du répertoire personnel de l'utilisateur stocké dans pw->pw_dir. Cette approche fonctionne à la fois pour les systèmes Linux et Unix.
Création de fichiers/dossiers dans le répertoire racine
Si votre programme s'exécute en tant qu'utilisateur root, évitez de créer des fichiers/dossiers. dans le répertoire racine (/root). La modification du répertoire racine n'est généralement pas recommandée, car elle peut avoir un impact sur la stabilité et la sécurité du système. Pensez plutôt à utiliser un répertoire dédié spécialement créé pour l'utilisation de votre programme, tel que /var/[nom-programme] ou /opt/[nom-programme].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!