Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


Gets a line from the input stream.

basic_istream& getline(
   char_type *_Str, 
   streamsize _Count
basic_istream& getline(
   char_type *_Str, 
   streamsize _Count, 
   char_type _Delim



The number of characters to read from strbuf.


The character that should terminate the read if it is encountered before _Count.


A string in which to write.

The stream (*this).

The first of these unformatted input functions returns getline(_Str, _Count, widen('\n')).

The second function extracts up to _Count - 1 elements and stores them in the array beginning at _Str. It always stores the string termination character after any extracted elements it stores. In order of testing, extraction stops:

  • At end of file.

  • After the function extracts an element that compares equal to _Delim, in which case the element is neither put back nor appended to the controlled sequence.

  • After the function extracts _Count - 1 elements.

If the function extracts no elements or _Count - 1 elements, it calls setstate(failbit). In any case, it returns *this.

// basic_istream_getline.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main( ) 
   char c[10];

   cin.getline( &c[0], 5, '2' );
   cout << c << endl;





Header: <istream>

© 2015 Microsoft