18

I have problem with getline().

I tried many examples and read other solutions, but that didn't solve my problem. I still have information 'getline: identifier not found'.

I included <stdio.h> <tchar.h> <iostream> <conio.h> <stdlib.h> <fstream> and still nothing.

#include "stdafx.h"

using namespace std;

int main(int argc, _TCHAR* argv[])
{
    string line;
    getline(cin, line);
    cout << "You entered: " << line << endl;
}

What do I need to do now?

I use Windows 7 64 bit and Visual Studio 2013.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Adam Fatyga
  • 155
  • 1
  • 2
  • 8

4 Answers4

37

Get used to simply reading the documentation for the language features that you use.
cppreference is quite clear that std::getline may found in string.

#include <string>
Lightness Races in Orbit
  • 378,754
  • 76
  • 643
  • 1,055
6

This should fix that:

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int main(int argc, _TCHAR* argv[]){
   string line;
   getline(cin, line);
   cout << "You entered: " << line << endl;
}
Progo
  • 3,452
  • 5
  • 27
  • 44
5
#include <string>

Incidentally, "Murach's C++ Programming" textbook incorrectly states that getline() is in the iostream header (p. 71) which may lead to some confusion.

aaronvan
  • 316
  • 1
  • 3
  • 9
3

You need to use

#include "string"

Read: std::getline

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Abhishek Gupta
  • 1,297
  • 13
  • 28
  • 7
    Not `"string"` but `` and I am having this problem as well having utilized [cppreference](http://en.cppreference.com/w/cpp/string/basic_string/getline) – Mushy Oct 11 '17 at 23:36