CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Jul 2025 06:27:15 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/istream/basic_istream/peek/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Jul 2025 06:27:15 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8314-E6SqhNBluAx5ZwNKZUE5foUbSfE"
Content-Encoding: gzip
Returns the next character in the input sequence, without extracting it: The character is left as the next character to be extracted from the stream.
If any internal state flags is already set before the call or is set during the call, the function returns the end-of-file value (
Internally, the function accesses the input sequence by first constructing a sentry object (with noskipws set to
Calling this function sets the value returned by gcount to zero.
Member type int_type is an integral type able to represent any character value or the special end-of-file value.
If there are no more characters to read in the input sequence, or if any internal state flags is set, the function returns the end-of-file value (
Multiple flags may be set by a single operation.
If the operation sets an internal state flag that was registered with member exceptions, the function throws an exception of member type failure.
Possible output:
Concurrent access to the same stream object may cause data races, except for the standard stream objects cin and wcin when these are synchronized with stdio (in this case, no data races are initiated, although no guarantees are given on the order in which read characters are attributed to threads).
It throws an exception of member type failure if the resulting error state flag is not goodbit and member exceptions was set to throw for that state.
Any exception thrown by an internal operation is caught and handled by the function, setting badbit. If badbit was set on the last call to exceptions, the function rethrows the caught exception.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<istream>
class templates
classes
manipulators
basic_istream
- basic_istream::~basic_istream
- basic_istream::basic_istream
member classes
member functions
non-member overloads
protected members
-
basic_istream::operator=C++11
-
basic_istream::swapC++11
-
public member function
<istream> <iostream>
std::basic_istream::peek
int_type peek();
Peek next character
If any internal state flags is already set before the call or is set during the call, the function returns the end-of-file value (
traits_type::eof()
).Internally, the function accesses the input sequence by first constructing a sentry object (with noskipws set to
true
). Then (if good), it reads one character from its associated stream buffer object by calling its member function sgetc, and finally destroys the sentry object before returning.Calling this function sets the value returned by gcount to zero.
Parameters
noneReturn Value
The next character in the input sequence, converted to a value of type int_type using member traits_type::to_int_type.Member type int_type is an integral type able to represent any character value or the special end-of-file value.
If there are no more characters to read in the input sequence, or if any internal state flags is set, the function returns the end-of-file value (
traits_type::eof()
), and leaves the proper internal state flags set:flag | error |
---|---|
eofbit | No character could be peeked because the input sequence has no characters available (end-of-file reached). |
failbit | The construction of sentry failed (such as when the stream state was not good before the call). |
badbit | Error on stream (such as when this function catches an exception thrown by an internal operation). When set, the integrity of the stream may have been affected. |
If the operation sets an internal state flag that was registered with member exceptions, the function throws an exception of member type failure.
Example
|
|
Possible output:
Please, enter a number or a word: foobar You entered the word: foobar |
Data races
Modifies the stream object.Concurrent access to the same stream object may cause data races, except for the standard stream objects cin and wcin when these are synchronized with stdio (in this case, no data races are initiated, although no guarantees are given on the order in which read characters are attributed to threads).
Exception safety
Basic guarantee: if an exception is thrown, the object is in a valid state.It throws an exception of member type failure if the resulting error state flag is not goodbit and member exceptions was set to throw for that state.
Any exception thrown by an internal operation is caught and handled by the function, setting badbit. If badbit was set on the last call to exceptions, the function rethrows the caught exception.
See also
- basic_istream::get
- Get characters (public member function)
- basic_istream::operator>>
- Extract formatted input (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us