getline错误,读取每一行

时间:2017-07-06 14:26:16

标签: c++

#include <iostream>
#include <cstdlib>
#include <string>
#include <conio.h>
#include <fstream>
using namespace std;

int main() {
  char input;

  while (true) {
    input = _getch();
    cout << "The input is: " << input << "\n";
  }
  ifstream level1;

  level1.open("level1.txt");

  string str[255];
  while (true) {
    getline(level1 , str );
    cout << str;
  }

   system("PAUSE");
}

错误即时获取:

  

没有重载功能的实例&#34; getline&#34;匹配参数列表

我想要做的是真正的文本文件中的每一行

2 个答案:

答案 0 :(得分:3)

getline将字符串作为第二个参数,而不是字符串数组。

答案 1 :(得分:1)

您收到的错误是no instance of overloaded function "getline" matches the argument list

如果您查看getline原型,您会看到istream& getline (istream& is, string& str);期望getline期望string&,而不是string[255]&这就是您要发送的内容

将您的来电更改为getline(level1 , str[0] );或将string的声明更改为string str;