CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Mon, 28 Jul 2025 03:13:08 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/streambuf/streambuf/pubsetbuf/
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 28 Jul 2025 03:13:08 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"80de-0jSWpiwYRbCm2mYvT0KgmoWm0hU"
Content-Encoding: gzip
Calls the protected virtual member setbuf with the same arguments s and n.
Member setbuf does nothing in streambuf, but derived classes may override it to influence the object in a specific way for each derived class: both filebuf and 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 filebuf::setbuf and 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>
streambuf
- streambuf::~streambuf
- streambuf::streambuf
public members
protected members
virtual protected members
- Reference
- <streambuf>
- streambuf
- pubsetbuf
public member function
<streambuf> <iostream>
std::streambuf::pubsetbuf
streambuf* pubsetbuf (char* s, streamsize n);
Set buffer array
Member setbuf does nothing in streambuf, but derived classes may override it to influence the object in a specific way for each derived class: both filebuf and 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 filebuf::setbuf and stringbuf::setbuf).
Parameters
- s, n
- Arguments that may be used by overriding functions in derived classes.
streamsize is a signed integral type.
Return Value
In 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
- 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