FreeBSD Manual Pages
std::wbuffe...nvert::rdbuf(3) C++ Standard Libarystd::wbuffe...nvert::rdbuf(3) NAME std::wbuffer_convert::rdbuf - std::wbuffer_convert::rdbuf Synopsis Defined in header <locale> std::streambuf* rdbuf() const; (1) std::streambuf* rdbuf( std::streambuf* bytebuf ); (2) 1) returns the pointer to the underlying byte stream 2) replaces the associated byte stream with bytebuf . Return value 1) the current underlying byte stream 2) the previous byte stream Example // Run this code #include <iostream> #include <sstream> #include <locale> #include <codecvt> int main() { // convert UTF-8 to UCS4 std::stringbuf utf8buf(u8"z\u00df\u6c34\U0001d10b"); // or u8"z" // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b"; std::wbuffer_convert<std::codecvt_utf8<wchar_t>> conv(&utf8buf); std::wistream ucsbuf(&conv); std::cout << "Reading from a UTF-8 stringbuf via wbuffer_con- vert:\n"; for(wchar_t c; ucsbuf.get(c); ) std::cout << std::hex << std::showbase << c << '\n'; // reuse the same wbuffer_convert to handle UCS4 to UTF-8 output conv.rdbuf(std::cout.rdbuf()); std::wostream out(&conv); std::cout << "Sending UCS4 data to std::cout via wbuffer_con- vert:\n"; out << L"z\u00df\u6c34\U0001d10b\n"; } Output: Reading from a UTF-8 stringbuf via wbuffer_convert: 0x7a 0xdf 0x6c34 0x1d10b Sending UCS4 data to std::cout via wbuffer_convert: z See also constructor constructs a new wbuffer_convert (public member function) http://cppreference.com 2022.07.31 std::wbuffe...nvert::rdbuf(3)
NAME | Synopsis | Return value | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wbuffer_convert::rdbuf&sektion=3&manpath=FreeBSD+Ports+15.0>
