Until the stream buffer has reached the end of the stream, there is a current character. The
function sgetc() is used to get the current character without moving on to the next character. The
function sbumpc() reads the current character and moves on to next character, making this the new
current character. The last function reading a single character, snextc() makes the next character
the current one and then reads this character. All three functions return traits_type::eof() to
indicate failure. The function sgetn() reads a sequence of characters into a buffer. The maximum
number of characters to be read is passed as an argument. The function returns the number of
characters read.