GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::basic_istream::get(3) C++ Standard Libary std::basic_istream::get(3)

std::basic_istream::get - std::basic_istream::get


int_type get(); (1)
basic_istream& get( char_type& ch ); (2)
basic_istream& get( char_type* s, std::streamsize count ); (3)
basic_istream& get( char_type* s, std::streamsize count, char_type delim ); (4)
basic_istream& get( basic_streambuf& strbuf ); (5)
basic_istream& get( basic_streambuf& strbuf, char_type delim ); (6)


Extracts character or characters from stream.


All versions behave as UnformattedInputFunctions. After constructing and checking
the sentry object, these functions perform the following:


1) Reads one character and returns it if available. Otherwise, returns Traits::eof()
and sets failbit and eofbit.
2) Reads one character and stores it to ch if available. Otherwise, leaves ch
unmodified and sets failbit and eofbit. Note that this function is not overloaded on
the types signed char and unsigned char, unlike the formatted character input
operator>>.
3) Same as get(s, count, widen('\n')), that is, reads at most count-1 characters and
stores them into character string pointed to by s until '\n' is found.
4) Reads characters and stores them into the successive locations of the character
array whose first element is pointed to by s. Characters are extracted and stored
until any of the following occurs:


* count-1 characters have been stored


* end of file condition occurs in the input sequence
(setstate(eofbit) is called)


* the next available input character c equals delim, as
determined by Traits::eq(c, delim). This character is not
extracted (unlike basic_istream::getline())


If no characters were extracted, calls setstate(failbit). In any case, if count>0, a
null character (CharT() is stored in the next successive location of the array.
5) same as get(strbuf, widen('\n')), that is, reads available characters and inserts
them to the given basic_streambuf object until '\n' is found.
6) reads characters and inserts them to the output sequence controlled by the given
basic_streambuf object. Characters are extracted and inserted into strbuf until any
of the following occurs:


* end of file condition occurs in the input sequence


* inserting into the output sequence fails (in which case
the character that could not be inserted, is not
extracted)


* the next available input character c equals delim, as
determined by Traits::eq(c, delim). This character is not
extracted.


* an exception occurs (in which case the exception is caught
and not rethrown)


If no characters were extracted, calls setstate(failbit).


All versions set the value of gcount() to the number of characters extracted.


ch - reference to the character to write the result to
s - pointer to the character string to store the characters to
count - size of character string pointed to by s
delim - delimiting character to stop the extraction at. It is not extracted and not
stored.
strbuf - stream buffer to read the content to


1) the extracted character or Traits::eof()
2-6) *this


failure if an error occurred (the error state flag is not goodbit) and exceptions()
is set to throw for that state.


If an internal operation throws an exception, it is caught and badbit is set. If
exceptions() is set for badbit, the exception is rethrown.

// Run this code


#include <sstream>
#include <iostream>


int main()
{
std::istringstream s1("Hello, world.");
char c1 = s1.get(); // reads 'H'
std::cout << "after reading " << c1 << ", gcount() == " << s1.gcount() << '\n';
char c2;
s1.get(c2); // reads 'e'
char str[5];
s1.get(str, 5); // reads "llo,"
std::cout << "after reading " << str << ", gcount() == " << s1.gcount() << '\n';
std::cout << c1 << c2 << str;
s1.get(*std::cout.rdbuf()); // reads the rest, not including '\n'
std::cout << "\nAfter the last get(), gcount() == " << s1.gcount() << '\n';
}


after reading H, gcount() == 1
after reading llo,, gcount() == 4
Hello, world.
After the last get(), gcount() == 7


read extracts blocks of characters
(public member function)
operator>> extracts formatted data
(public member function)
operator>>(std::basic_istream) extracts characters and character arrays
(function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.