Descripción
Se utiliza para obtener la secuencia de caracteres y llama al miembro virtual protegido xsgetn con los mismos argumentos sy n.
Declaración
A continuación se muestra la declaración para std :: basic_streambuf :: sgetn.
streamsize sgetn (char_type* s, streamsize n);
Parámetros
Valor devuelto
Devuelve el número de caracteres copiados.
Excepciones
Basic guarantee - si se lanza una excepción, el búfer de flujo está en un estado válido.
Carreras de datos
Modifica hasta todos los primeros n caracteres de la matriz apuntada por s.
Ejemplo
En el siguiente ejemplo se 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;
}