protected: virtual std::streamsize showmanyc() |
If implemented, returns the number of characters left to read from the file.
(none).
The number of characters available for reading from the file, or -1
if the end of file was reached.
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"
implementation test to see if showmanyc() is implemented for 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 267
obtains the number of characters immediately available in the get area (public member function of std::basic_streambuf ) |
|
extracts already available blocks of characters (public member function of std::basic_istream ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/io/basic_filebuf/showmanyc