Man Page wcin.3



                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



NAME

     wcin

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





SYNOPSIS

     #include <iostream>
     extern wistream wcin;
     wistream wcin;





DESCRIPTION

     The object wcin controls input from a stream buffer  associ-
     ated  with the object stdin declared in <cstdio>. By default
     the standard C and C++ streams are synchronized, but perfor-
     mance  improvement  can  be  achieved  by using the ios_base
     member function synch_with_stdio to desynchronize them.

     After the object wcin  is  initialized,  wcin.tie()  returns
     &wcout,  which implies that wcin and wcout are synchronized.
     wcin uses the locale codecvt facet to convert the tiny char-
     acters extracted from stdin to the wide characters stored in
     the wcin buffer.





EXAMPLE

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

     void main ( )
     {
      using namespace std;

      int i;
      float f;
      wchar_t c;

       //read an integer, a float and a wide character from stdin

      wcin >> i >> f >> c;

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

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

     void main ( )
     {
      using namespace std;

      wchar_t p[50];

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

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

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

     When inputting "  Grendel the monster" (newline) in the pre-
     vious  test, the output is: "Grendel the monster". The mani-
     pulator ws removes spaces.





SEE ALSO

     basic_istream(3C++),                   basic_iostream(3C++),
     basic_filebuf(3C++),   cin(3C++),   cout(3C++),  cerr(3C++),
     clog(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.2





STANDARDS CONFORMANCE

     ANSI X3J16/ISO WG21 Joint C++ Committee