C++ – How to get Current Directory in Linux/Windows

cpp tutorials
cpp tutorials

C++ – How do I get the directory that a program is running from?

In this Tutorial We will learn how to print the path of current working directory. The code below is applicable for both Linux and window. we just need to define the flags for current operating system.

By default the code will run as it is on Linux. if we want to use it on Windows , uncomment the line 2.

#include <stdio.h>  /* defines FILENAME_MAX */
// #define WINDOWS  /* uncomment this line to use it for windows.*/ 
#ifdef WINDOWS
#include <direct.h>
#define GetCurrentDir _getcwd
#include <unistd.h>
#define GetCurrentDir getcwd

std::string GetCurrentWorkingDir( void ) {
  char buff[FILENAME_MAX];
  GetCurrentDir( buff, FILENAME_MAX );
  std::string current_working_dir(buff);
  return current_working_dir;

int main(){
  std::cout << GetCurrentWorkingDir() << std::endl;
  return 1;


Partner Sites




Be the first to comment

Leave a Reply

Your email address will not be published.