C++ streambuf - in_avail



Description

It is used to get number of character available to read and returns the number of characters available to read. This value depends on whether there are read positions directly available at the get pointer.

Declaration

Following is the declaration for std::basic_streambuf::in_avail.

streamsize in_avail();

Parameters

none

Return Value

It returns the number of characters available to read.

Exceptions

Basic guarantee − if an exception is thrown, the stream buffer is in a valid state.

Data races

The member function may modify the stream buffer object.

Example

In below example explains about 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;
}
streambuf.htm
Advertisements