Partilhar via


basic_streambuf::sgetn

O extrai até caracteres de _Count de buffer de entrada e armazená-los no buffer fornecido _Ptr.

Esse método é potencialmente não seguro, porque depende do chamador para verifica se os valores passados estão corretos.

streamsize sgetn(
   char_type *_Ptr,
   streamsize _Count
);

Parâmetros

  • _Ptr
    O buffer para conter os caracteres extraídos.

  • _Count
    O número de elementos a serem lidos.

Valor de retorno

O número de elementos. Consulte streamsize para maiores informações.

Comentários

A função de membro retorna xsgetn(_Ptr, _Count).

Exemplo

// basic_streambuf_sgetn.cpp
// compile with: /EHsc /W3
#include <iostream>
#include <fstream>

int main()
{
    using namespace std;

    ifstream myfile("basic_streambuf_sgetn.txt", ios::in);
    char a[10];

    // Extract 3 characters from myfile and store them in a.
    streamsize i = myfile.rdbuf()->sgetn(&a[0], 3);  // C4996
    a[i] = myfile.widen('\0');

    // Display the size and contents of the buffer passed to sgetn.
    cout << i << " " << a << endl;

    // Display the contents of the original input buffer.
    cout << myfile.rdbuf() << endl;
}

Entrada: basic_streambuf_sgetn.txt

testing

Saída

3 tes
ting

Requisitos

streambuf <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_streambuf

Programação iostream

Convenções iostreams