std::basic_filebuf<CharT,Traits>::showmanyc
< cpp | io | basic filebuf
protected: virtual std::streamsize showmanyc() |
||
若实现,则返回从文件留待读取的字符数。
参数
(无)
返回值
可从文件读取的字符数,或若抵达文件尾则为 -1 。
注意
此函数为可选。若不实现,则此函数返回 0 (因为基类版本 std::basic_streambuf::showmanyc 得到调用)。
无论是否实现,若获取区为空,则此函数为 std::basic_streambuf::in_avail 所正常调用。
此函数的名称表示“流:多少字符?”,故它读作“ S how many C ”,而不是“ show 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
参阅
获得获取区中立即可用的字符数 ( std::basic_streambuf<CharT,Traits> 的公开成员函数) | |
读并取走已经可用的字符块 ( std::basic_istream<CharT,Traits> 的公开成员函数) |