C ++ open()因任何明显原因无法正常工作

时间:2016-07-24 20:54:41

标签: c++

ifstream infile;
infile.open("BONUS.txt");

string info;

    if (!infile)
        cout << "File Open Failure" << endl;
    else
    {
        while (infile >> info)
            cout << info << endl;
            infile.close();
    }

这是我的代码。无论我做什么,我的文件总是无法打开。它进入if和退出。可能是什么问题?我的文本文件保存在正确的目录中,似乎没有任何问题。

1 个答案:

答案 0 :(得分:0)

open()中有两个参数,要打开的文件和模式。该模式指的是您可以对该文件执行的操作,即写入,读取等等。

使用open()时有六种可能的模式:

  1. 参数in代表输入。 internal stream buffer启用输入。 (用于阅读文件。)
  2. 参数out代表输出。 same internal buffer启用输出。 (用于写入文件。)
  3. 参数binary允许所有操作以二进制形式完成,而不是文本。
  4. 参数ate代表at end,并在文件末尾开始输出。
  5. 参数app代表append,输出事件发生在文件末尾。
  6. 参数trunc代表truncate。打开之前存在的所有内容都将被删除。
  7. 您似乎想要写入文件,在这种情况下使用out

    ifstream infile;
    infile.open("BONUS.txt", out);
    

    如果您没有使用正确的模式,该功能将失败。如果您还有其他问题,可以访问Google fstream::open()