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 サイトの他の関連記事を参照してください。