Reads a specified number of characters from the stream and stores them in an array.

This method is potentially unsafe, as it relies on the caller to check that the passed values are correct. Consider using basic_istream::_Read_s instead.

basic_istream<Elem, Tr>& read(
    char_type *_Str, 
    streamsize _Count


  • _Str
    The array in which to read the characters.

  • _Count
    The number of characters to read.

Return Value

The stream (*this).


The unformatted input function extracts up to count elements and stores them in the array beginning at _Str. Extraction stops early on end of file, in which case the function calls setstate(failbit). In any case, it returns *this.


// basic_istream_read.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main()
    char c[10];
    int count = 5;

    cout << "Type 'abcde': ";

    // Note: cin::read is potentially unsafe, consider
    // using cin::_Read_s instead.[0], count);
    c[count] = 0;

    cout << c << endl;

abcdeabcdeType 'abcde': abcde abcde


Header: <istream>

Namespace: std

See Also


basic_istream Class

iostream Programming

iostreams Conventions

Other Resources

basic_istream Members