为什么这些文件打不开?

Why are these files not opening?

从第一天开始我就在用 C++ 打开文件时遇到问题,现在我 运行 遇到了再次打开特定文件的问题。难道我做错了什么?我试过这部分后面有和没有“.txt”,以及将它放入 C 驱动器并尝试以这种方式获取它,但它仍然不起作用。

代码:

ifstream correctAnswers;
ifstream studentAnswers;

correctAnswers.open("C:\CorrectAnswers");
studentAnswers.open("C:\StudentAnswers");

if (correctAnswers && studentAnswers) {
    for (int i = 0; i < SIZE; i++) {
        correctAnswers >> answerKey[i];
        studentAnswers >> studentKey[i];

    }
}
else {
    cout << "error" << endl;
}

错误部分一直显示,所以我假设这意味着文件没有打开或者文件的内容将被复制到数组中。

您的文件名字符串中需要双反斜杠。

correctAnswers.open("C:\CorrectAnswers");
studentAnswers.open("C:\StudentAnswers");

C (C++) 字符串中的 '\' 引入了转义序列。要获得实际的 '\' 您需要转义 - 即 "C:\CorrectAnswers".

一个好的编译器(具有正确的 error/warning 配置)通常会说 "Unknown escape sequence \C".

哦,我的主啊。谢谢你们。我这里有一个完整的程序,由于该特定部分而无法运行。我还必须在末尾添加“.txt”以将其指向正确的方向。 ;)

ifstream correctAnswers;
ifstream studentAnswers;

correctAnswers.open("C:\CorrectAnswers.txt");
studentAnswers.open("C:\StudentAnswers.txt");

if (correctAnswers && studentAnswers) {
    for (int i = 0; i < SIZE; i++) {
        correctAnswers >> answerKey[i];
        studentAnswers >> studentKey[i];

    }
}
else {
    cout << "error" << endl;
}