CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Jul 2025 06:47:06 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/streambuf/streambuf/sputc/
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 24 Jul 2025 06:47:06 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"83a3-teDs3A0FQamz1cvws8ahl4M+2o8"
Content-Encoding: gzip
The character c is stored at the current position of the controlled output sequence, and then advances the position indicator to the next character.
Internally, the function calls the virtual protected member overflow if there are no write positions available at the put pointer (pptr). Otherwise, the function uses the put pointer (pptr) directly, without calling virtual member functions.
Its behavior is the same as if implemented as:
Otherwise, it returns the end-of-file value (EOF) to signal a failure.
This example code writes every character to a file until a dot character (
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>
streambuf
- streambuf::~streambuf
- streambuf::streambuf
public members
protected members
virtual protected members
- Reference
- <streambuf>
- streambuf
- sputc
public member function
<streambuf> <iostream>
std::streambuf::sputc
int sputc (char c);
Store character at current put position and increase put pointer
Internally, the function calls the virtual protected member overflow if there are no write positions available at the put pointer (pptr). Otherwise, the function uses the put pointer (pptr) directly, without calling virtual member functions.
Its behavior is the same as if implemented as:
|
|
Parameters
- c
- Character to be put.
Return Value
In case of success, the character put is returned, as a value of typeint
.Otherwise, it returns the end-of-file value (EOF) to signal a failure.
Example
|
|
This example code writes every character to a file until a dot character (
.
) is introduced.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
- streambuf::sbumpc
- Get current character and advance to next position (public member function)
- streambuf::sgetn
- Get sequence of characters (public member function)
- streambuf::sputn
- Put 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