std::basic_filebuf<CharT,Traits>::showmanyc
protected: virtual std::streamsize showmanyc() |
Если реализовано, возвращает количество символов, оставшихся для чтения из файла.
Параметры
(нет)
Возвращаемое значение
Количество символов, доступных для чтения из файла, или -1 если достигнут конец файла.
Примечания
Эта функция необязательна. Если не реализована, эта функция возвращает 0 (поскольку вызывается версия базового класса std::basic_streambuf::showmanyc)
Реализована ли она или нет, эта функция обычно вызывается std::basic_streambuf::in_avail если область получения пуста.
Имя этой функции означает «поток: сколько символов?», поэтому она произносится как «Эс, хау мени си», а не «шоу мени си»
Пример
тест реализации для проверки, реализована ли showmanyc() для 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 267
См. также
| получает количество символов, немедленно доступных в области получения (публичный член-функция 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/w/cpp/io/basic_filebuf/showmanyc