5

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

4 に答える 4

11

$(PROJECT_DIR)スキームのデバッグ設定で作業ディレクトリの値を使用します。

ここに画像の説明を入力

于 2013-03-21T00:38:55.907 に答える
3

Xcode でプロジェクトのカスタム作業ディレクトリを設定できます。Xcode 4 で、プロジェクト ウィンドウ ツールバーの [スキーム] メニューから [スキームの編集] を選択して、スキーム エディタを開きます。プロジェクト エディターの左側から [実行] ステップを選択します。スキーム エディタの上部にある [オプション] ボタンをクリックします。[カスタム作業ディレクトリを使用] チェックボックスを選択します。テキスト フィールドの右側にあるボタンをクリックして、作業ディレクトリを選択します。

ここに画像の説明を入力

于 2012-11-05T18:43:59.577 に答える
1

chdir()を使用できます。ここを参照してください:C++で現在の作業ディレクトリを変更します

または、常にシステムコール(stdlib.h)を発行できる場合は、http ://www.cplusplus.com/reference/clibrary/cstdlib/system/を参照してください。これは移植性がありませんが、必要なものには十分かもしれません。

于 2012-11-05T03:35:30.167 に答える