Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler pgC_lib wcin
Personal tools
Document Actions

wcin



Click on the banner to return to the class reference home page.

wcin


Pre-defined stream

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

None

Synopsis

#include <iostream>
extern wistream wcin;

Description

wistream wcin;

    The object wcin 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 performance 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 characters extracted from stdin to the wide characters stored in the wcin buffer.

Examples

//
// wcin example one
//
#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 two
//
#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 previous test, the output will be "Grendel the monster". The manipulator ws removes spaces.

See Also

basic_istream(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


©Copyright 1996, Rogue Wave Software, Inc.


Powered by Plone This site conforms to the following standards: