Namespaces
Variants

std::basic_filebuf<CharT,Traits>:: showmanyc

From cppreference.net
protected :
virtual std:: streamsize showmanyc ( )
(optional)

If implemented, returns the number of characters left to read from the file.

Contents

Return value

The number of characters available for reading from the file, or - 1 if the end of file was reached.

Notes

This function is optional. If not implemented, this function returns 0 (since the base class version std :: basic_streambuf :: showmanyc gets called).

Whether implemented or not, this function is normally called by std :: basic_streambuf :: in_avail if the get area is empty.

The name of this function stands for “ s tream: how many c haracters?”, so it is pronounced “ S how many C ", rather than “show many C”.

Example

An implementation test to see if showmanyc() is implemented for std::filebuf .

#include <fstream>
#include <iostream>
struct mybuf : std::filebuf
{
    using std::filebuf::showmanyc;
};
int main()
{
    mybuf fin;
    fin.open("main.cpp", std::ios_base::in);
    std::cout << "showmanyc() returns " << fin.showmanyc() << '\n';
}

Possible output:

showmanyc() returns 254

See also

obtains the number of characters immediately available in the get area
(public member function of std::basic_streambuf<CharT,Traits> )
extracts already available blocks of characters
(public member function of std::basic_istream<CharT,Traits> )