Get Home Directory on Linux using C++

Get Home Directory on Linux using C++

In a Linux environment, understanding how to access a user's home directory is essential for various programming tasks. The home directory serves as the central hub for a user's files, configurations, and preferences. It's crucial for applications and utilities to interact with or manipulate files in this directory for customization and data storage. This tutorial shows how to get home directory on Linux using C++.

In the following code, the getuid function retrieves the ID of the current user (UID), and this UID is used as an argument for getpwuid to obtain the passwd structure associated with the user. From this structure, pw_dir member is accessed, which contains the home directory path of the current user.

#include <iostream>
#include <unistd.h>
#include <pwd.h>

int main()
{
    const char *homedir = getpwuid(getuid())->pw_dir;

    std::cout << homedir << std::endl;

    return 0;
}

Here's an output example for this code snippet:

/home/john

Leave a Comment

Cancel reply

Your email address will not be published.