std::basic_filebuf<CharT,Traits>::showmanyc
提供: cppreference.com
<tbody>
</tbody>
protected: virtual std::streamsize showmanyc() |
||
実装されている場合は、ファイルから読み込む残りの文字数を返します。
引数
(なし)
戻り値
ファイルからの読み込み用に利用可能な文字数、またはファイル終端に達した場合は -1。
ノート
この関数はオプショナルです。 実装されていない場合、この関数は (基底クラスのバージョンの std::basic_streambuf::showmanyc が呼ばれるため) 0 を返します。
実装されているかどうかにかかわらず、通常、この関数は get 領域が空の場合に std::basic_streambuf::in_avail によって呼ばれます。
この関数名の由来は「stream: how many characters?」であり、そのため「show many C」ではなく「S how many C」と読みます。
例
filebuf に対して showmanyc() が実装されているかどうか確認します。
Run this code
#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
関連項目
| get 領域内の直ちに利用可能な文字数を取得します ( std::basic_streambuf<CharT,Traits>のパブリックメンバ関数)
| |
| すでに利用可能な文字のブロックを抽出します ( std::basic_istream<CharT,Traits>のパブリックメンバ関数)
|