string::getline (STL Sample)

The sample code below illustrates how to use the string::getline STL function in Visual C++.

Required Header:
<string>

Prototype:

template<class _E, class _TYPE, class _A> inline
     basic_istream<_E, _TYPE>& getline( basic_istream<_E, _TYPE>& Istream,
     basic_string<_E, _TYPE, _A>& Xstring,
     const _E _D=_TYPE::newline());

Note: The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Description:
The getline function creates a string containing all of the characters from the input stream until one of the following situations occurs: - End of file. - The delimiter is encountered. - is.max_str() elements have been extracted.

Sample Code:

//////////////////////////////////////////////////////////////////////
//
// Compile options needed: /GX
//
// Getline.cpp : Illustrates how to use the getline function to read a
//               line of text from the keyboard.
//
// Functions:
//
//    getline       Returns a string from the input stream.
//////////////////////////////////////////////////////////////////////

#pragma warning(disable:4786)
#include <string>
#include <iostream>

using namespace std ;

void main()
{
    string s1;
    cout << "Enter a sentence (use <space> as the delimiter):";
    getline(cin,s1, ' ');
    cout << "You entered: " << s1;
}

 

Program Output is:

Enter a sentence (use <space> as the delimiter): A_space_at_the_end.
You entered: A_space_at_the_end.