как сменить рабочий каталог на место расположения программы

Я хочу использовать c ++, чтобы открыть файл в Mac OS.

Если я запускаю программу под Xcode, рабочий каталог такой же, как и у программы, что нормально. Однако, если я пытаюсь запустить программу в терминале, рабочая папка всегда "Users / username". Знаете ли вы, как изменить рабочий каталог в месте расположения программы?

Вот пример кода:

#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;
}

Ответы на вопрос(3)

Ваш ответ на вопрос