Это не имеет ничего общего с chdir()
, скорее проблема в том, что вы говорите cin
записать данные через нулевой указатель.
Правильное решение - использовать std::string
для хранения строка пути вместо:
#include <string>
#include <iostream>
#include <unistd.h>
int main()
{
std::string directory;
std::cout << "Enter the directory you want to enter: " << std::endl;
//taking input
std::cin >> directory;
//changing the directory
chdir(directory.c_str());
return 0;
}