C++ basic_ios Library - get


It is used to get characters.


Following is the declaration for std::basic_istream::get.

er (1)	
int_type get();
basic_istream& get (char_type& c);
c-string (2)	
basic_istream& get (char_type* s, streamsize n);
basic_istream& get (char_type* s, streamsize n, char_type delim);
stream buffer (3)	
basic_istream& get (basic_streambuf<char_type,traits_type>& sb);
basic_istream& get (basic_streambuf<char_type,traits_type>& sb, char_type delim);


  • c − The reference to a character where the extracted value is stored.

  • s − Pointer to an array of characters where extracted characters are stored as a c-string.

  • n − Maximum number of characters to write to s (including the terminating null character).

  • delim − Explicit delimiting character: The operation of extracting successive characters stops as soon as the next character to extract compares equal to this (using traits_type::eq).

  • sb − A basic_streambuf object on whose controlled output sequence the characters are copied.

Return Value

Returns the character read, or the end-of-file value (traits_type::eof()) if no characters are available in the stream (note that in this case, the failbit flag is also set).


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

Data races

Modifies c, sb or the elements in the array pointed by s and modifies the stream object.


In below example for std::basic_istream::get.

#include <iostream>     
#include <fstream>      

int main () {
   char str[256];

   std::cout << "Enter the name of an existing text file: ";
   std::cin.get (str,256);    

   std::ifstream is(str);     

   char c;
   while (is.get(c))          
      std::cout << c;


   return 0;