getline

Extract strings from the input stream line-by-line.

template<class CharType, class Traits, class Allocator>
   basic_istream<CharType, Traits>& getline(
      basic_istream<CharType, Traits>& _Istr,
      basic_string<CharType, Traits, Allocator>& _Str
   );
template<class CharType, class Traits, class Allocator>
   basic_istream< CharType, Traits >& getline(
       basic_istream< CharType, Traits >& _Istr,
       basic_string< CharType, Traits, Allocator >& _Str,
       CharType _Delim
   );
template<class Allocator, class Traits, class Allocator>
   basic_istream< Allocator, Traits >& getline(
        basic_istream< Allocator, Traits >&& _Istr,
        basic_string< Allocator, Traits, Allocator >& _Str
   );
template<class CharType, class Traits, class Allocator>
   basic_istream<CharType, Traits>& getline(
      basic_istream<CharType, Traits>&& _Istr,
      basic_string<CharType, Traits, Allocator>& _Str,
      const CharType _Delim
   );

_Istr

The input stream from which a string is to be extracted.

_Str

The string into which are read the characters from the input stream.

_Delim

The line delimiter.

The first function returns getline( _Istr, _Str, _Istr.widen( '\n' ) ).

The second function replaces the sequence controlled by _Str with a sequence of elements extracted from the stream _Istr.

The remaining functions are analogs to earlier ones, but with Lvalues and Rvalues.

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 str.max_size elements, in which case the function calls setstate(ios_base::failbit).

If the function extracts no elements, it calls setstate(failbit). In any case, it returns _Istr.

See string::getline for an example of using getline.

Header: <string>

Namespace: std

Show: