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 #else #include <unistd.h> #define GetCurrentDir getcwd #endif #include<iostream> 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; }
Leave a Reply