Język C++
basic_streambuf::xsputn
[metoda] Zapisuje określoną liczbę znaków do sekwencji wyjściowej.Składnia
#include <streambuf>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_streambuf
{
protected:
virtual std::streamsize xsputn( const char_type * s, std::streamsize count );
};
}
Argumenty
Zwracana wartość
Liczba pomyślnie zapisanych znaków.
Dodatkowe informacje
Znaki są zapisywane przez ciągłe wywoływanie funkcji
sputc. Funkcja kończy działanie, gdy określona liczba znaków zostanie zapisana lub wywołanie funkcji
sputc zwróci wartość
Traits::eof()
. Jeśli obszar zapisywania danych zostanie całkowicie wypełniony (wskaźniki zwracane przez funkcje
pptr()
oraz
epptr()
są takie same), ta funkcja może wywołać funkcję
overflow()
.
Przykład
#include <iostream>
#include <sstream>
int main()
{
std::ostringstream output;
std::streamsize sz = output.rdbuf()->sputn( "To jest tekst.", 14 );
std::cout << "Znaki: " << sz << '\n'
<< "Dane: \"" << output.str() << "\"\n";
std::istringstream input;
sz = input.rdbuf()->sputn( "To nie zostanie zapisane.", 25 );
std::cout << "Znaki: " << sz << '\n'
<< "Dane: \"" << input.str() << '\"';
return 0;
}
Standardowe wyjście programu:
Znaki: 14
Dane: "To jest tekst."
Znaki: 0
Dane: ""
Zagadnienia powiązane
sputc | Zapisuje jeden znak do sekwencji wyjściowej. (metoda) |
---|
sputn | Umożliwia zapisanie określonej liczby znaków do sekwencji wyjściowej. (metoda) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.