为什么我的文件没有打开,C ++? XCode和Visual Studio

时间:2016-06-10 22:23:48

标签: c++ input filestream

这在Visual Studio和XCode中都会发生

#include <fstream>
#include <iostream>

using namespace std;

int main() {

    ifstream input;

    input.open ("matrices.txt");

    if (!input.is_open()) {
        cout << "not open!";
    } else {
        cout << "open!";
    }

    input.close();

    return 0;
}

我的档案没有打开。文本文件matrices.txt位于同一目录中。

2 个答案:

答案 0 :(得分:0)

在此上下文中“同一目录”是什么?

对于要打开的文件,在调试器中运行时,它必须位于可执行文件的工作目录中。

对于Xcode;这意味着将文件添加到“复制文件”构建阶段(可通过编辑可执行文件的目标来访问);并将其添加到从下拉列表中选择的Products Directory

答案 1 :(得分:0)

在Xcode中,如果要使用文件,则必须将其放在名为DeriverData的文件夹中。您可以通过执行以下操作导航到它:

Xcode&gt;偏好&gt;点击地点。

这会打开以下窗口 enter image description here

您可以点击路径右侧的小箭头:/ Users / dulybon1 / Library / Developer / Xcode / DerivedData

它将打开包含所有Xcode项目列表的目录。找到您的项目并导航至:build&gt;产品&gt;调试

如下所示:

enter image description here

然后你可以把你的文件放在那里。 &#34; a1.txt&#34;和&#34; a2.txt&#34;是我放在那里工作的文件。我认为文件在打开之前需要存在,所以如果你打算使用它们,只需创建空白文件。希望有所帮助