1) Calls xsputn(s, count) of the most derived class.
2)Writes
countcharacters 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
countcharacters 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 valueThe 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++98xsputn()
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