CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Tue, 22 Jul 2025 23:50:39 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/ios/basic_ios/rdbuf/
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 22 Jul 2025 23:50:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8d77-Jo43S3tvZl2XRB5fUGHq5b/o3G4"
Content-Encoding: gzip
The first form (1) returns a pointer to the stream buffer object currently associated with the stream.
The second form (2) also sets the object pointed by sb as the stream buffer associated with the stream and clears the error state flags.
If sb is a null pointer, the function automatically sets the badbit error state flags (which may throw an exception if member exceptions has been passed badbit).
Some derived stream classes (such as string streams and file streams) maintain their own internal stream buffer, to which they are associated on construction. Calling this function to change the associated stream buffer shall have no effect on that internal stream buffer: the stream will have an associated stream buffer which is different from its internal stream buffer (although input/output operations on streams always use the associated stream buffer, as returned by this member function).
This example uses both function forms: first to get a pointer to a file's basic_streambuf object and then to assign it to cout.
Concurrent access to the same stream object may cause data races.
It throws an exception of member type failure if sb is a null pointer and member exceptions was set to throw for badbit.
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>
<ios>
types
manipulators
other functions
-
iostream_categoryC++11
-
basic_ios
- basic_ios::~basic_ios
- basic_ios::basic_ios
public members
- basic_ios::bad
- basic_ios::clear
- basic_ios::copyfmt
- basic_ios::eof
- basic_ios::exceptions
- basic_ios::fail
- basic_ios::fill
- basic_ios::good
- basic_ios::imbue
- basic_ios::narrow
- basic_ios::operator bool
- basic_ios::operator!
- basic_ios::rdbuf
- basic_ios::rdstate
- basic_ios::setstate
- basic_ios::tie
- basic_ios::widen
protected members
- basic_ios::init
-
basic_ios::moveC++11
-
basic_ios::set_rdbufC++11
-
basic_ios::swapC++11
public member function
<ios> <iostream>
std::basic_ios::rdbuf
get (1) | basic_streambuf<char_type,traits_type>* rdbuf() const; |
---|---|
set (2) | basic_streambuf<char_type,traits_type>* rdbuf (basic_streambuf<char_type,traits_type>* sb); |
Get/set stream buffer
The second form (2) also sets the object pointed by sb as the stream buffer associated with the stream and clears the error state flags.
If sb is a null pointer, the function automatically sets the badbit error state flags (which may throw an exception if member exceptions has been passed badbit).
Some derived stream classes (such as string streams and file streams) maintain their own internal stream buffer, to which they are associated on construction. Calling this function to change the associated stream buffer shall have no effect on that internal stream buffer: the stream will have an associated stream buffer which is different from its internal stream buffer (although input/output operations on streams always use the associated stream buffer, as returned by this member function).
Parameters
- sb
- Pointer to a basic_streambuf object with the same template parameters as the basic_ios object.
char_type and traits_type are member types defined as aliases of the first and second class template parameters, respectively (see basic_ios types).
Return Value
A pointer to the stream buffer object associated with the stream before the call.Example
|
|
This example uses both function forms: first to get a pointer to a file's basic_streambuf object and then to assign it to cout.
Data races
Accesses (1) or modifies (2) the stream object.Concurrent access to the same stream object may cause data races.
Exception safety
Basic guarantee: if an exception is thrown, the stream is in a valid state.It throws an exception of member type failure if sb is a null pointer and member exceptions was set to throw for badbit.
See also
- streambuf
- Base buffer class for streams (class)
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