名前空間
変種

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

提供: cppreference.com
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
<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() が実装されているかどうか確認します。

#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>のパブリックメンバ関数) [edit]
すでに利用可能な文字のブロックを抽出します
(std::basic_istream<CharT,Traits>のパブリックメンバ関数) [edit]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.