2016-06-10 100 views
0

这两个Visual Studio的发生和XCode的为什么我的文件不能打开,C++? Xcode和Visual Studio的

#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位于相同的目录中。

+0

如果你在IDE内部执行它,当前目录可能与项目文件所在位置相同(你应该检查你的IDE的设置以找出当前目录指向的位置)。作为替代方案,您可以打开一个终端,导航到您的可执行文件并从终端运行(matrices.txt也应该位于相同的目录中)。 – incBrain

+0

**当前目录**(默认情况下为非限定文件和目录名称)不一定与**可执行文件的目录**相同。事实上,他们都是一样的。例如,当您运行记事本时,您很少将当前目录更改为“c:\ windows \ system32”。 –

+0

也许'system(“chdir”)'的输出会亮起来 –

回答

0

在这种情况下什么是“相同的目录”?

要使文件以这种方式打开,在调试器中运行时,必须在可执行文件的工作目录中。

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

0

在Xcode中,如果你想使用一个文件,你必须把它放在一个名为DeriverData的文件夹中。您可以通过执行以下操作导航到它:

Xcode> preferences>单击位置。

这带来如下窗口 enter image description here

您可以在小箭头点击路径的正确:/用户/ dulybon1 /库/开发商/ Xcode中/ DerivedData

这将打开包含所有Xcode项目列表的目录。找到你的项目并导航到:建立>产品>调试

,如下图所示:

enter image description here

然后你可以把你的文件存在。 “a1.txt”和“a2.txt”是我放在那里的文件。我认为该文件在打开之前需要存在,所以如果您计划使用它们,只需创建空白文件即可。希望对你有帮助

相关问题