2011-12-23 6 views
0

私の問題を説明する最善の方法は、おそらく自分のコードを表示することです。ifsteamオブジェクトで.openを使用する際の問題

#include <iostream> 
#include <fstream> 

int main (int argc, const char * argv[]) 
{ 

    std::ifstream in; 
    std::string line; 
    in.open("test.txt"); 
    if (in.fail()) std::cout << "failed. \n"; 
    getline(in, line); 
    std::cout << line; 

    return 0; 
} 

これを実行すると、コンソールは「失敗」を返しています。 test.txtというファイルを開くのではなく、my .xcodeprojファイルと同じフォルダにあり、Xcodeナビゲータにも表示されます。

私はこのプロセスについて私が誤解していることは分かりませんが、それは単純なものになると思われます。

ありがとうございます! :)

答えて

3

ファイルは.xcodeprojファイルと同じディレクトリにありますか?さて、ここにあなたの問題があります。

デフォルトでは、Xcodeから起動されるプロセスの作業ディレクトリは、出力ディレクトリ(つまり、プログラムが存在するディレクトリ)になります。 Xcodeのバージョンによっては、おそらく<Project Directory>/build/Debugになるはずです。

ファイルをそこに移動してみてください。

+1

+1。 ifstream :: open() ';-)に何も問題はありません。 – Cameron

+0

Woohoo!これは解決策でした、ありがとう! /ユーザー/ユーザー名/ライブラリ/開発者/ Xcode/DerivedData/project_dir /ビルド/製品/デバッグ – Jarrod

+0

Thanks Cam、良いヒント:) – Jarrod

関連する問題