C++ input Class istream
Input is returned to an object of type istream
as described in iostream.h
.
The operator >>
is overloaded in this class to perform input conversions from standard types.
The operator is left associative and returns a value of type istream&
.
The standard input istream
corresponding to stdin
is cin
.
The effect of executing a simple input statement, such as cin >> x >> i;
is to read from standard input (normally the keyboard) a value for x
and then a value for i
.
White space is ignored.
The class istream
contains public members such as:
istream& operator>>(int& i);
istream& operator>>(long& i);
istream& operator>>(double& x);
istream& operator>>(char& c);
istream& operator>>(char* s);
istream& get(char& c);
istream& get(char* s, int n, char c = '\n');
istream& getline(char* s, int n, char c = '\n');
istream& read(char* s, int n);
The member function
get(char& c)
inputs the character representation to
c
, white-space characters included.
The member function
get(char* s, int n, char c = '\n')
inputs at most n
characters into the string pointed at by s
, up to the specified delimiter character c
or an end-of-file.
The member function getline()
works like get(char* s, int n, char c = '\n')
except it discards rather than keeps the delimiter character in the designated istream.
The member function read(char* s, int n)
inputs at most n
characters into the string pointed at by s
.
Since these are member functions, they can be used as follows:
cin.get(c); //one character
cin.get(s, 40); //length 40 or terminated by '\n'
cin.get(s, 10, '*') //length 10 or terminated by *
cin.getline(s, 40) //same as get but '\n' is discarded