ホームページ > バックエンド開発 > C++ > C for Linux でユーザーのホーム ディレクトリに確実にアクセスする方法

C for Linux でユーザーのホーム ディレクトリに確実にアクセスする方法

Patricia Arquette
リリース: 2024-10-29 17:20:02
オリジナル
408 人が閲覧しました

How to Reliably Access the User's Home Directory in C   for Linux?

Linux でユーザーのホーム ディレクトリを取得する

Linux 用の C プログラムを開発する場合、多くの場合、ユーザーのホーム ディレクトリ パスにアクセスする必要があります。ただし、HOME 環境変数に依存することはお勧めできません。 getpwuid 関数と 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>
ログイン後にコピー

getuid() 関数は現在のユーザーの ID を取得し、getpwuid() はこの ID を使用して、対応するパスワード エントリを取得します。 pw->pw_dir に保存されているユーザーのホーム ディレクトリ パス。このアプローチは、Linux と Unix システムの両方で機能します。

ルート ホーム ディレクトリにファイル/フォルダーを作成する

プログラムが root ユーザーとして実行される場合は、ファイル/フォルダーの作成を避けてください。ルート ホーム ディレクトリ (/root) 内。ルート ホーム ディレクトリの変更は、システムの安定性とセキュリティに影響を与える可能性があるため、通常は推奨されません。代わりに、/var/[プログラム名] や /opt/[プログラム名] など、プログラムの使用のために特別に作成された専用ディレクトリを使用することを検討してください。

以上がC for Linux でユーザーのホーム ディレクトリに確実にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート