|
Get current character
Returns the character currently pointed by the get pointer.
During its operation, the function will call the protected virtual member function underflow if the get pointer gptr points to the same position as the end pointer egptr before the call (or if it is a null pointer).
Unlike the member functions sbumpc and snextc, this function does not advance the get pointer neither before nor after reading it.
Parameters
none
Return Value
The character pointed by the get pointer (type-casted to the appropiate return type).
If the controlled input sequence has exhausted, and underflow could not retrieve more characters, the function returns EOF (or traits::eof() for other traits).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
// show file content - sgetc () example
#include <iostream>
#include <fstream>
using namespace std;
int main () {
char ch;
streambuf * pbuf;
ifstream istr ("test.txt");
pbuf = istr.rdbuf();
while (pbuf->sgetc()!=EOF)
{
ch = pbuf->sbumpc();
cout << ch;
}
istr.close();
return 0;
}
|
This example shows the content of a file on screen, using a combination of sgetc and sbumpc to read the file.
Basic template member declaration
( basic_streambuf<charT,traits> )
1 2
|
typedef traits::int_type int_type;
int_type sgetc ( );
|
See also
streambuf::snextc | Increase get pointer and return next character (public member function) |
streambuf::sbumpc | Get current character and increase get pointer (public member function) |
streambuf::sputc | Store character at current put position and increase put pointer (public member function) |
|