jak zmienić katalog roboczy na lokalizację programu

Chcę użyć c ++ do otwarcia pliku w systemie Mac OS.

Jeśli uruchomię program pod Xcode, katalog roboczy jest taki sam jak w programie, co jest w porządku. Jeśli jednak spróbuję uruchomić program w terminalu, katalogiem roboczym jest zawsze „Użytkownicy / nazwa użytkownika”. Czy wiesz, jak zmienić katalog roboczy na lokalizację programu?

Oto przykładowy kod:

#include <iostream>
#include <fstream>
using namespace std;
int main (int argc, const char * argv[])
{
    char * dir = getcwd(NULL, 0); 
    cout << "Current dir: " << dir << endl;

    ifstream fin("hi.txt");
    if (fin.is_open()) cout << "File is Open" << endl;
    else cout << "File is not open" << endl;    
    fin.close();
    return 0;
}

questionAnswers(3)

yourAnswerToTheQuestion