C++ streambuf - in_avail
描述
它用于获取可读取的字符数并返回可读取的字符数。 该值取决于获取指针处是否有直接可用的读取位置。
声明
以下是 std::basic_streambuf::in_avail 的声明。
streamsize in_avail();
参数
none
返回值
它返回可读取的字符数。
异常
Basic guarantee − 如果抛出异常,则流缓冲区处于有效状态。
数据竞争
成员函数可以修改流缓冲区对象。
示例
在下面的例子中解释了 std::basic_streambuf::in_avail。
#include <iostream>
#include <fstream>
int main () {
std::ifstream ifs ("sample.txt");
if (ifs.good()) {
std::streambuf* pbuf = ifs.rdbuf();
char c; ifs >> c;
std::streamsize size = pbuf->in_avail();
std::cout << "first character in file: " << c << '\n';
std::cout << size << " characters in buffer after it\n";
}
ifs.close();
return 0;
}

