C ++ streambuf - in_avail

Descrição

É usado para obter o número de caracteres disponíveis para leitura e retorna o número de caracteres disponíveis para leitura. Este valor depende se há posições de leitura diretamente disponíveis no ponteiro de obtenção.

Declaração

A seguir está a declaração para std :: basic_streambuf :: in_avail.

streamsize in_avail();

Parâmetros

Nenhum

Valor de retorno

Ele retorna o número de caracteres disponíveis para leitura.

Exceções

Basic guarantee - se uma exceção for lançada, o buffer de fluxo está em um estado válido.

Corridas de dados

A função de membro pode modificar o objeto de buffer de fluxo.

Exemplo

No exemplo a seguir, explica sobre 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;
}