代码在g ++中运行完美,但不在Xcode中 – 无法find文件

我创build了一个包含内容的文本文件。 它位于与cpp文件相同的文件夹中。 我已经多次确认文件存在。 当我运行g ++时,编译并运行它find文件。 当我在Xcode中运行它时,它不起作用。 如果找不到该文件。

#include <iostream> #include <fstream> #include <string> using namespace std; int main () { string line; ifstream myfile ("example.txt"); if (myfile.is_open()) { while ( myfile.good() ) { getline (myfile,line); cout << line << endl; } myfile.close(); } else cout << "Unable to open file"; return 0; } 

您的文件无法打开,因为XCode从IDE启动的默认构build位置,实际上是临时目录在您的磁盘上的某个地方。 如果您想在启动时将工作目录更改为其他内容(例如可以find文件的位置):

  1. select产品/编辑scheme…菜单选项。
  2. select左侧列表中的运行架构。
  3. 在右侧窗格底部的“ 选项”选项卡应该是“工作目录”选项。 选中checkbox并将自定义工作目录设置到您知道的位置 (您的“/ Users / yourname”主目录是我使用的一个体面的地方)。
  4. 确保从IDE中执行程序所需的任何“当前目录”数据文件都在此目录中。

如果你没有看到它,这也是你可以在同一个对话框中configuration命令行参数(在另一个选项卡上)的地方。

尝试将文件添加到XCode中的项目,或使用绝对path。