2

まず第一に、これは私のコードの一部です:

....
string input;
getline(cin, input);

ifstream openFile;
openFile.open(input.c_str(), ios::in);

if(openFile.is_open()){
    cout << "File opened" << endl;
}  
else {
    cout << "Cant open the file " << endl;
}

結果は常に「ファイルを開くことができません」。私はファイルが存在することを非常に確信しています。同じディレクトリにdata1.txt、data2.txt ... data10.txtがあります(XCodeを使用して新しい空のファイルを追加し、その中にデータを追加して保存しました)。

別のテストを行い、新しいディレクトリを作成し、cppファイルとデータファイルをコピーして貼り付けます。ターミナルで実行すると、動作し、データファイルを読み取ることができます。xcodeがデータファイルを読み取れないのはなぜですか?何か案が?

4

2 に答える 2

2

ファイルへのフル パスを指定する必要があります。Xcode は、コードが存在しないビルド ディレクトリからアプリケーションを実行します。

ファイルが OSX または iOS アプリケーションのビルドの一部としてコピーされる場合は、バンドル構造を調べてディレクトリを見つける必要があります。

于 2011-08-16T11:16:33.950 に答える
1

Xcode に、データ ファイルを含むディレクトリから実行可能ファイルを実行するように指示できます。

ターゲット実行可能ファイルの情報ダイアログを表示し、「作業ディレクトリを次のように設定:」の値をプロジェクト ディレクトリまたはカスタム ディレクトリのいずれかに変更します。

于 2011-08-16T13:52:45.447 に答える