Maison > développement back-end > C++ > Comment accéder de manière fiable au répertoire personnel de l'utilisateur en C pour Linux ?

Comment accéder de manière fiable au répertoire personnel de l'utilisateur en C pour Linux ?

Patricia Arquette
Libérer: 2024-10-29 17:20:02
original
409 Les gens l'ont consulté

How to Reliably Access the User's Home Directory in C   for 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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal