代码在g ++中运行完美但在Xcode中运行不正确 - 无法找到文件

时间:2013-01-23 09:48:54

标签: c++ xcode g++

我创建了一个包含内容的文本文件。它与cpp文件位于同一文件夹中。我已多次确认该文件存在。当我运行g ++时,编译并运行它会找到该文件。当我在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;
}

2 个答案:

答案 0 :(得分:13)

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

  1. 选择产品/编辑方案...菜单选项。
  2. 在左侧列表中选择运行架构。
  3. 右侧窗格底部的选项标签应为“工作目录”选项。选中复选框并将自定义工作目录设置为 know (您的“/ Users / yourname”主目录是我使用的一个不错的地方)。
  4. 确保从IDE执行程序所需的任何“当前目录”数据文件都在此目录中。
  5. 如果您没有看到它,这也是您可以在同一个对话框中配置命令行参数(在另一个选项卡上)的地方。

答案 1 :(得分:0)

尝试在XCode中将文件添加到项目中或改为使用绝对路径。