CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Jul 2025 12:56:13 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/streambuf/basic_streambuf/sungetc/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Jul 2025 12:56:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8bba-ODFer8+IbigXELnmukusMCjdUSI"
Content-Encoding: gzip
Attempts to move the current position indicator of the controlled input sequence back one position to the character that precedes the current one, making the character at that position available once again for the next input operation.
Internally, the function calls the virtual protected member pbackfail if the get pointer (gptr) points to the buffer beginning (eback) when the function is called. Otherwise, the function uses the get pointer (gptr) directly, without calling any virtual member functions.
Its behavior is the same as if implemented as:
The function returns the end-of-file value (
Member type int_type is an integral type able to represent any character value or the special end-of-file value.
This example gets characters form standard input one by one. When the first numeric digit is found, sungetc is called to restore the position in the stream to that digit in order to be extracted as part of a number using the extraction operator
Concurrent access to the same stream buffer object may introduce data races.
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>
basic_streambuf
- basic_streambuf::~basic_streambuf
- basic_streambuf::basic_streambuf
public members
- basic_streambuf::getloc
- basic_streambuf::in_avail
- basic_streambuf::pubimbue
- basic_streambuf::pubseekoff
- basic_streambuf::pubseekpos
- basic_streambuf::pubsetbuf
- basic_streambuf::pubsync
- basic_streambuf::sbumpc
- basic_streambuf::sgetc
- basic_streambuf::sgetn
- basic_streambuf::snextc
- basic_streambuf::sputbackc
- basic_streambuf::sputc
- basic_streambuf::sputn
- basic_streambuf::sungetc
protected members
virtual protected members
- Reference
- <streambuf>
- basic_streambuf
- sungetc
public member function
<streambuf> <iostream>
std::basic_streambuf::sungetc
int_type sungetc();
Decrease current position
Internally, the function calls the virtual protected member pbackfail if the get pointer (gptr) points to the buffer beginning (eback) when the function is called. Otherwise, the function uses the get pointer (gptr) directly, without calling any virtual member functions.
Its behavior is the same as if implemented as:
|
|
Parameters
noneReturn Value
The value of the new current character of the controlled input sequence, converted to a value of type int_type using member traits_type::to_int_type.The function returns the end-of-file value (
traits_type::eof()
) on failure.Member type int_type is an integral type able to represent any character value or the special end-of-file value.
Example
|
|
This example gets characters form standard input one by one. When the first numeric digit is found, sungetc is called to restore the position in the stream to that digit in order to be extracted as part of a number using the extraction operator
>>
.Data races
Modifies the stream buffer object.Concurrent access to the same stream buffer object may introduce data races.
Exception safety
Basic guarantee: if an exception is thrown, the stream buffer is in a valid state (this also applies to standard derived classes).See also
- basic_streambuf::sputbackc
- Put character back (public member function)
- basic_streambuf::sgetc
- Get current character (public member function)
- basic_streambuf::snextc
- Advance to next position and get character (public member function)
- basic_streambuf::sbumpc
- Get current character and advance to next position (public member function)
- basic_streambuf::sputc
- Put character and advance to next position (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