std::basic_filebuf<CharT,Traits>::showmanyc
提供: cppreference.com
< cpp | io | basic filebuf
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> のパブリックメンバ関数)
|