C言語にて ホームディレクトリのパス名を取得する

2つの方法がある

(1) 環境変数

環境変数 HOME を取得する

getenv("HOME");

(2) パスワードファイル

パスワードファイル( /etc/passwd ) に記載されている ホームディレクトリを取得する

getpwuid(getuid())->pw_dir );

補足
macOS ではパスワードファイル( /etc/passwd ) を使っていないが、 API は機能する

サンプルコードは githubに公開した
https://github.com/ohwada/MAC_cpp_Samples/tree/master/system/c_src