无法使用C ++打开文件

时间:2015-01-21 04:24:39

标签: c++ file-io xcode6

我有一个名为'matrixA'的文件;这是一个文本文件。它位于一个名为“assignments”的文件夹中。我在赋值文件夹中还有另一个名为main.cpp的文件。

ifstream myfile ("matrixA");

string linebuffer;
if (!myfile.is_open()){
    cout << "error";
}

总是输出错误。

发生了什么事?为什么我不能打开文件?

3 个答案:

答案 0 :(得分:1)

尝试使用matrixA的绝对路径。或者在文件夹分配中运行程序。

您可以通过调用getcwd来判断程序的运行位置。

答案 1 :(得分:1)

请参阅,这完全取决于您的可执行文件的位置。 如果它与matrixA文件位于同一文件夹中,则只需提供ifstream myfile("matrixA");

但是如果你的可执行文件与matrixA文件不在同一个文件夹中,那么最好为文件提供绝对路径,在你的情况下,代码应该是是:

ifstream myfile("/Users/jsuit/cx4220/cx4220/cx4220/assignments/matrixA");

始终建议给出打开文件的绝对路径,因为您不知道可以从哪个位置运行可执行文件。

答案 2 :(得分:1)

编译cpp文件后,您将获得一个可执行文件,可称为 main.exe 。我猜 main.exe matrixA 不在同一个目录中,这就是为什么总是会出现输出错误。

尝试使用绝对路径或类似../matrixA的内容。