table of contents
std::basic_filebuf::showmanyc(3) | C++ Standard Libary | std::basic_filebuf::showmanyc(3) |
NAME¶
std::basic_filebuf::showmanyc - std::basic_filebuf::showmanyc
Synopsis¶
protected:
virtual std::streamsize showmanyc()
If implemented, returns the number of characters left to read from the
file.
Parameters¶
(none)
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 "stream: how many
characters?", so it is
pronounced "S how many C", rather than "show many C"
Example¶
implementation test to see if showmanyc() is implemented for filebuf
// Run this code
#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 267
See also¶
in_avail obtains the number of characters immediately available
in the get area
(public member function of std::basic_streambuf<CharT,Traits>)
readsome extracts already available blocks of characters
(public member function of std::basic_istream<CharT,Traits>)
2024.06.10 | http://cppreference.com |