CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Jul 2025 15:34:23 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/streambuf/basic_streambuf/pubsetbuf/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Jul 2025 15:34:24 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"850b-hhys8wff6FIIQHA4/Ior5uTzgws"
Content-Encoding: gzip
Calls the protected virtual member setbuf with the same arguments s and n.
Member setbuf does nothing in basic_streambuf, but derived classes may override it to influence the object in a specific way for each derived class: both basic_filebuf and basic_stringbuf override this virtual member function to set the array of n characters pointed by s as the internal character sequence to be used by the stream buffer object (see basic_filebuf::setbuf and basic_stringbuf::setbuf).
The code in this example sets a new buffer of 512 characters for filestr's stream buffer object.
Modifies the stream buffer object.
Concurrent access to the same array or 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
- pubsetbuf
public member function
<streambuf> <iostream>
std::basic_streambuf::pubsetbuf
basic_streambuf* pubsetbuf (char_type* s, streamsize n);
Set buffer array
Member setbuf does nothing in basic_streambuf, but derived classes may override it to influence the object in a specific way for each derived class: both basic_filebuf and basic_stringbuf override this virtual member function to set the array of n characters pointed by s as the internal character sequence to be used by the stream buffer object (see basic_filebuf::setbuf and basic_stringbuf::setbuf).
Parameters
- s, n
- Arguments that may be used by overriding functions in derived classes.
Member type char_type is the type of the characters in the stream buffer (the first class template parameter).
streamsize is a signed integral type.
Return Value
In basic_streambuf, it always returns this.Example
|
|
The code in this example sets a new buffer of 512 characters for filestr's stream buffer object.
Data races
Both this call and further calls to other member functions may access and/or modify the first n characters in the array pointed by s.Modifies the stream buffer object.
Concurrent access to the same array or 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::setbuf
- Set buffer (protected virtual 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