## cin

    Pre-defined stream

- Summary
- Data Type and Member Function Indexes
- Synopsis
- Description
- Example
- See Also
- Standards Conformance

### Summary

Controls input from a stream buffer associated with the object `stdin` declared in `<cstdio>`.``

### Data Type and Member Function Indexes
(exclusive of constructors and destructors)

None

### Synopsis

    #include <iostream>
    extern istream cin;
    istream cin;

### Description

The object `cin` controls input from a stream buffer associated with the object `stdin` declared in `<cstdio>`. By default, the standard C and C++ streams are synchronized, but you can improve performance by using the `ios_base` member function `synch_with_stdio` to desynchronize them.

After the object `cin` is initialized, `cin.tie()` returns `&cout`, which implies that `cin` and `cout` are synchronized.

### Example

    //
    // cin example #1
    //
    #include <iostream>

    void main ( )
    {
      using namespace std;

      int i;
      float f;
      char c;

      //read an integer, a float and a character from stdin
      cin >> i >> f >> c;

      // output i, f and c to stdout
      cout << i << endl << f << endl << c << endl;
    }

    //
    // cin example #2
    //
    #include <iostream>

    void main ( )
    {
      using namespace std;

      char p[50];

      // remove all the white spaces
      cin >> ws;

      // read characters from stdin until a newline
      // or 49 characters have been read
      cin.getline(p,50);

      // output the result to stdout
      cout << p;
    }

When inputting `" Grendel the monster" (newline)` in the previous test, the output is `"Grendel the monster"`. The manipulator `ws` removes spaces.

### See Also

basic_istream(3C++), iostream(3C++), basic_filebuf(3C++), cout(3C++), cerr(3C++), clog(3C++), wcin(3C++), wcout(3C++), wcerr(3C++), wclog(3C++), ios_base(3C++), basic_ios(3C++)

Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++, Section 27.3.1

### Standards Conformance

ANSI X3J16/ISO WG21 Joint C++ Committee

Copyright (c) 1998, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.
OEM Release, June 1998