A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../named_req/../io/basic_streambuf/sputn.html below:

std::basic_streambuf<CharT,Traits>::sputn, std::basic_streambuf<CharT,Traits>::xsputn - cppreference.com

1) Calls xsputn(s, count) of the most derived class.

2)

Writes

count

characters to the output sequence from the character array whose first element is pointed to by

s

. The characters are written as if by repeated calls to

sputc()

. Writing stops when either

count

characters are written or a call to

sputc()

would have returned

Traits::eof()

.

If the put area becomes full (pptr() == epptr()), it is unspecified whether overflow() is actually called or its effect is achieved by other means.

[edit] Parameters

(none)

[edit] Return value

The number of characters successfully written.

[edit] Notes

"achieved by other means" permits bulk I/O without intermediate buffering: that is how std::ofstream::write() simply passes the pointer to the suitable system call in some implementations.

[edit] Example
#include <iostream>
#include <sstream>
 
int main()
{
    std::ostringstream s1;
    std::streamsize sz = s1.rdbuf()->sputn("This is a test", 14);
    s1 << '\n';
    std::cout << "The call to sputn() returned " << sz << '\n'
              << "The output sequence contains " << s1.str();
 
    std::istringstream s2;
    sz = s2.rdbuf()->sputn("This is a test", 14);
    std::cout << "The call to sputn() on an input stream returned " << sz << '\n';
}

Output:

The call to sputn() returned 14
The output sequence contains This is a test
The call to sputn() on an input stream returned 0
[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior LWG 565 C++98 xsputn() always called overflow() if pptr() == epptr() it does not actually need to be called [edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4