Maison > développement back-end > C++ > le corps du texte

Comment obtenir les répertoires personnels des utilisateurs dans les programmes Linux C sans s'appuyer sur des variables d'environnement ?

Patricia Arquette
Libérer: 2024-11-01 00:11:02
original
243 Les gens l'ont consulté

How to Obtain User Home Directories in Linux C   Programs Without Relying on Environment Variables?

Obtention des répertoires personnels des utilisateurs sous Linux

Lors du développement de programmes C exécutés sous Linux, il peut être nécessaire de récupérer le répertoire personnel de l'utilisateur. Pour y parvenir sans recourir à la variable d'environnement HOME, une approche plus fiable est disponible.

Pour obtenir le répertoire personnel sous Linux, les étapes suivantes peuvent être suivies :

1. Déterminer l'ID utilisateur :
Utilisez la fonction getuid() pour obtenir l'ID utilisateur de l'utilisateur actuel.

2. Récupérer l'entrée du mot de passe :
À l'aide de la fonction getpwuid(), vous pouvez acquérir l'entrée du mot de passe associée à l'ID utilisateur obtenu. Cette entrée encapsule le répertoire personnel.

Exemple de code :

<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

Il est important de noter que si votre application utilise le threading, vous devez plutôt utiliser la fonction getpwuid_r pour sécurité des threads.

Accès au répertoire de base racine :

Le répertoire de base racine se trouve généralement dans /root. Si votre programme fonctionne sous l'utilisateur root, la création de fichiers ou de dossiers dans ce répertoire est acceptable. Il est toutefois conseillé de faire preuve de prudence et de limiter ces actions aux tâches essentielles.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!