【问题标题】:Code runs perfect in g++ but not in Xcode - Cannot find File代码在 g++ 中运行完美,但在 Xcode 中不完美 - 找不到文件
【发布时间】:2013-01-06 18:02:28
【问题描述】:

我创建了一个包含内容的文本文件。它与 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;
}

【问题讨论】:

标签: c++ xcode g++


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢您的尝试,但我们尚未得到答复。为了确定,我直接从 XCode 将文件添加到项目中。你不觉得奇怪的是,当我在终端上编译它时它工作得很好,而当我在 XCode 中运行它时什么都没有?为什么 XCode 需要绝对路径而不是 g++?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2016-01-04
    • 2017-01-26
    • 1970-01-01
    相关资源
    最近更新 更多