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() для 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

См. также

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/cpp/io/basic_filebuf/showmanyc

Spec-Zone.ru

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