命名空间
变体
操作

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

来自 cppreference.cn
< cpp‎ | io‎ | basic filebuf
 
 
 
 
protected:
virtual std::streamsize showmanyc()
(可选)

如果已实现,则返回文件中剩余可读取的字符数。

目录

[编辑] 返回值

文件中可供读取的字符数,如果已到达文件末尾则返回 -1

[编辑] 注意

此函数是可选的。如果未实现,则此函数返回 0(因为调用了基类版本 std::basic_streambuf::showmanyc)。

无论是否实现,如果获取区为空,此函数通常由 std::basic_streambuf::in_avail 调用。

此函数的名称代表“stream: how many characters?”(流:有多少字符?),因此它发音为“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> 的公有成员函数) [编辑]
English 日本語 中文(简体) 中文(繁體)