2

フルパス(full-path/roots.txt)を書くとファイルが開きます。ファイル名だけ書くとファイルが開かない(roots.txt)

それでも、roots.txt は main.cpp と同じフォルダーにあります。XCode で確認する必要がある設定はありますか?

コードは次のとおりです。

    string line;
ifstream infile;
infile.clear();
// infile.open("roots.txt");
infile.open("/Users/programming/C++/roots/roots.txt");
if (infile.fail()) cout << "could not open the file: " << strerror(errno);
getline(infile, line);
cout << line;
4

4 に答える 4

9

デフォルトでは、Xcode の作業ディレクトリは次のようなものです~/Library/Developer/Xcode/DerivedData/project-/Build/Products/Debug.。そのため、プロジェクト ディレクトリまたはその他のディレクトリに対して相対パスを使用しようとしている場合は、Xcode で作業ディレクトリを手動で構成する必要があります。

Product -> Scheme -> Edit Scheme -> options tabでこれを行うことができます。カスタム作業ディレクトリを使用するチェックボックスにチェックを入れ、パスを表示します。

于 2013-07-22T02:24:49.597 に答える
4

XCode 内から実行しているときに作業ディレクトリを変更するには、[プロジェクト] メニューで [アクティブな実行可能ファイルの編集] を選択します。

「一般」セクションの下部で、作業ディレクトリの設定を調整できます。

于 2011-01-25T19:42:48.297 に答える
4

絶対パスでファイルを開こうとして機能し、ファイル名だけでは失敗する場合は、相対パスが間違っている可能性があります。roots.txt現在の作業ディレクトリに配置されていることを確認します。getcwdで宣言されている関数を調べunistd.hます。

于 2011-01-25T17:45:36.907 に答える
2

XCode 内からファイルを実行していると仮定すると、作業ディレクトリが .cpp ファイルが配置されているディレクトリと同じになる可能性は低くなります。現在の作業ディレクトリが何であるかを確認してください。getcwd(呼び出しで取得できるはずです)

于 2011-01-25T17:44:04.333 に答える