CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 26 Jul 2025 03:37:31 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/streambuf/basic_streambuf/snextc/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 26 Jul 2025 03:37:31 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8aaf-qTZ+wdeokkQcOBOSF3fqB8BWB2s"
Content-Encoding: gzip
Advances the current position of the controlled input sequence to the next character, and returns that next character.
Notice that, although similar, the following member functions have different behaviors:
Internally, the function first calls sbumpc, and if that function returns a valid character, the function then calls sgetc. This only calls virtual members if, at some point, there are no read positions available at the get pointer (gptr).
Its behavior is the same as if implemented as:
If there are no more characters to read from the controlled input sequence, 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 shows the content of a file on screen, using the combination of sgetc and snextc to read the input file.
Concurrent access to the same stream buffer object may introduce data races.
Invalid arguments cause undefined behavior.
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
- snextc
public member function
<streambuf> <iostream>
std::basic_streambuf::snextc
int_type snextc();
Advance to next position and get character
Notice that, although similar, the following member functions have different behaviors:
member function | description |
---|---|
sgetc() | returns the character at the current position. |
sbumpc() | returns the character at the current position and advances the current position to the next character. |
snextc() | advances the current position to the next character and returns this next character. |
Internally, the function first calls sbumpc, and if that function returns a valid character, the function then calls sgetc. This only calls virtual members if, at some point, there are no read positions available at the get pointer (gptr).
Its behavior is the same as if implemented as:
|
|
Parameters
noneReturn Value
The character at the next position of the controlled input sequence, converted to a value of type int_type using member traits_type::to_int_type.If there are no more characters to read from the controlled input sequence, the function returns the end-of-file value (
traits_type::eof()
).Member type int_type is an integral type able to represent any character value or the special end-of-file value.
Example
|
|
This example shows the content of a file on screen, using the combination of sgetc and snextc to read the input file.
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).Invalid arguments cause undefined behavior.
See also
- basic_streambuf::sbumpc
- Get current character and advance to next position (public member function)
- basic_streambuf::sgetc
- Get current character (public member function)
- basic_streambuf::sgetn
- Get sequence of characters (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