Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ wcin(3C++) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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++)

wcin(3C++)

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 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. 
 
 
 

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 previous test, the output is: "Grendel the monster". The manipulator 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
 

Rogue Wave Software  —  Last change: 02 Apr 1998

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026