Spec-Zone.ru › C++

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

См. также

in_avail
получает количество символов, немедленно доступных в области получения
(публичный член-функция std::basic_streambuf<CharT,Traits>)
readsome
извлекает уже доступные блоки символов
(публичный член-функция 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API