C ++ streambuf - sgetn
Descrizione
Viene utilizzato per ottenere una sequenza di caratteri e chiama il membro virtuale protetto xsgetn con gli stessi argomenti se n.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: basic_streambuf :: sgetn.
streamsize sgetn (char_type* s, streamsize n);
Parametri
sPuntatore a una matrice in cui viene copiata la sequenza di caratteri.
nNumero massimo di caratteri da recuperare.
Valore di ritorno
Restituisce il numero di caratteri copiati.
Eccezioni
Basic guarantee - se viene generata un'eccezione, il buffer del flusso è in uno stato valido.
Gare di dati
Modifica fino a tutti i primi n caratteri dell'array puntato da s.
Esempio
Nell'esempio seguente viene illustrato lo 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;
}