5

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

2 回答 2

13

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

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

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

于 2013-01-23T11:07:40.750 回答
0

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

于 2013-01-23T10:48:26.583 回答