Namespaces
Variants

std::basic_filebuf<CharT,Traits>:: showmanyc

From cppreference.net
protected :
virtual std:: streamsize showmanyc ( )
(オプション)

実装されている場合、ファイルから読み取り可能な残りの文字数を返します。

目次

戻り値

ファイルから読み取り可能な文字数、またはファイルの終端に達した場合は - 1 を返します。

注記

この関数はオプションです。実装されていない場合、この関数は 0 を返します(基底クラスのバージョン std :: basic_streambuf :: showmanyc が呼び出されるため)。

実装されているかどうかに関わらず、この関数は通常、 std :: basic_streambuf :: in_avail によって、get領域が空の場合に呼び出されます。

この関数名は「 s tream: how many c haracters?」を表しており、「 S how many C 」と発音され、「show many C」とは発音されません。

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> の公開メンバ関数)