我在显示此文件时遇到问题。我正在尝试创建一个文件并将其显示在输出屏幕中。但是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");
}
答案 0 :(得分:0)
std::getline()
是一个自由函数,而不是成员函数。成员函数版本用于原始字符数组,因为您使用std::string
,所以自由函数是合适的。
std::getline(Outfile, line);
另请注意,std::getline()
仅适用于std::istream
类型的对象,并且由于您尝试执行输入,因此Outfile
对象不应该是std::ofstream
。 请将其更改为输入文件流 std::ifstream
。
将Outfile
更改为std::fstream
,这是一个双向文件流。