std::basic_filebuf<CharT,Traits>::showmanyc
protected: virtual std::streamsize showmanyc() | (необязательно) |
Если функция реализована, она возвращает количество символов, оставшихся для чтения из файла.
Возвращаемое значение
Количество символов, доступных для чтения из файла, или -1, если достигнут конец файла.
Примечания
Эта функция необязательна. Если она не реализована, функция возвращает 0 (поскольку вызывается версия базового класса std::basic_streambuf::showmanyc).
Независимо от того, реализована ли функция, обычно она вызывается функцией std::basic_streambuf::in_avail, если область извлечения пуста.
Название этой функции означает «поток: сколько символов?», поэтому её произносят «эс, сколько це», а не «шоу мени си».
Пример
Проверка реализации, чтобы выяснить, реализована ли showmanyc() для 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';
}
Возможный вывод:
showmanyc() returns 254
См. также
| получает количество символов, немедленно доступных в области извлечения (открытая функция-член std::basic_streambuf<CharT,Traits>) |
|
| извлекает уже доступные блоки символов (открытая функция-член std::basic_istream<CharT,Traits>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_filebuf/showmanyc