Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Język C++

basic_streambuf::xsputn

[metoda] Zapisuje określoną liczbę znaków do sekwencji wyjściowej.

Składnia

C/C++
#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

ArgumentOpis
sWskaźnik do tablicy znaków zawierającej dane do zapisania.
countLiczba znaków do zapisania.

Zwracana wartość

Liczba pomyślnie zapisanych znaków.

Dodatkowe informacje

Znaki są zapisywane przez ciągłe wywoływanie funkcji » standard C++ » basic_streambufsputc. Funkcja kończy działanie, gdy określona liczba znaków zostanie zapisana lub wywołanie funkcji » standard C++ » basic_streambufsputc 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

C/C++
#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

sputcZapisuje jeden znak do sekwencji wyjściowej. (metoda)
sputnUmożliwia zapisanie określonej liczby znaków do sekwencji wyjściowej. (metoda)

Linki zewnętrzne