2011-08-16 14 views
2

まず上のC++プログラムからファイルを読み込むことができません、これは私のコードの一部です:は、すべてのMacの

.... 
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がデータファイルを読み込めないのはなぜですか?何か案が?

+1

は、iOSやMacの開発については、このですか? 'input'の正確な内容は何ですか?それが相対パスであれば、あなたのプロセスは正しい作業ディレクトリにありますか? – DarkDust

+0

Mac、cppコマンドラインプログラム。入力は以下のようになります:data1.txt、data2.txt – LustSeeker

+1

Xcodeとは何も関係ありません。 –

答えて

2

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

OSXまたはiOSアプリケーションを構築する際にファイルがコピーされる場合は、bundle structureを参照してディレクトリを探してください。

+0

hmmm ..しかし、私はそれを他のOS環境に先行する必要があります。たぶんlinux ??もう一度うまくいきませんか? – LustSeeker

+1

これは純粋なC++の場合はすべての環境で動作しますが、問題はどのディレクトリが実行可能ファイルとファイルであるかです。通常は、ファイル名を実行可能ファイルに渡し、同じディレクトリに依存することはありません – Mark

+0

@ Mark:はい、純粋なC++です。非常に基本的なもの。それは私がコンパイルし、Macの端末を介して実行する場合に動作します。しかし、xcodeでは、それだけで動作しません:( – LustSeeker

1

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

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

関連する問題