阅读和显示文件

时间:2014-11-04 22:11:14

标签: c++ file

我在显示此文件时遇到问题。我正在尝试创建一个文件并将其显示在输出屏幕中。但是getline无效。它一直在第40行给我一个“获取线未申报”。我已经尝试过去处理事情而我没有做任何工作。有什么问题?

#include <iostream>

#include <fstream>

#include <stdlib.h>

#include <string>


using namespace std;

int main()

{

  char filename[] = "Hello.txt";

  string line = "Hello, this is my output file";

  ofstream OutFile;

  OutFile.open(filename);

  if(OutFile.fail()) // check for successfully open ,

   {

     cout << "file named can not be found \n";

     exit(1);

   } 

     OutFile << line;

     if (OutFile.is_open())

       OutFile.getline(line);

    OutFile.close();

     system("pause");

}

1 个答案:

答案 0 :(得分:0)

std::getline()是一个自由函数,而不是成员函数。成员函数版本用于原始字符数组,因为您使用std::string,所以自由函数是合适的。

std::getline(Outfile, line);

另请注意,std::getline()仅适用于std::istream类型的对象,并且由于您尝试执行输入,因此Outfile对象不应该是std::ofstream请将其更改为输入文件流 std::ifstream

Outfile更改为std::fstream,这是一个双向文件流。