Descrição
É usado para obter a sequência de caracteres e chamar o membro virtual protegido xsgetn com os mesmos argumentos s e n.
Declaração
A seguir está a declaração para std :: basic_streambuf :: sgetn.
streamsize sgetn (char_type* s, streamsize n);
Parâmetros
Valor de retorno
Ele retorna o número de caracteres copiados.
Exceções
Basic guarantee - se uma exceção for lançada, o buffer de fluxo está em um estado válido.
Corridas de dados
Ele modifica até todos os primeiros n caracteres na matriz apontada por s.
Exemplo
No exemplo a seguir explica sobre std :: basic_streambuf :: sgetn.
#include <iostream>
#include <fstream>
int main () {
char* contents;
std::ifstream istr ("sample.txt");
if (istr) {
std::streambuf * pbuf = istr.rdbuf();
std::streamsize size = pbuf->pubseekoff(0,istr.end);
pbuf->pubseekoff(0,istr.beg);
contents = new char [size];
pbuf->sgetn (contents,size);
istr.close();
std::cout.write (contents,size);
}
return 0;
}