streamsize sgetn ( const char * s, streamsize n ); |
|
Get sequence of characters
Calls the protected virtual member xsgetn, which gets up to n characters from the input sequence and stores them in the array pointed by s.
If less than n characters are available in the input sequence the function returns all the available characters, as if successive calls to sbumpc were made until an EOF (or traits::eof() for other traits) was returned.
Parameters
- s
- Pointer to a block of memory where the character sequence is to be stored.
- n
- Number of characters to be gotten. This is an integer value of type streamsize.
Return Value
The number of characters gotten, returned as a value of type
streamsize.
Example
// read a file buffer - sgetn () example
#include <iostream>
#include <fstream>
using namespace std;
int main () {
char content[11];
streambuf * pbuf;
ifstream istr ("test.txt");
pbuf = istr.rdbuf();
pbuf->sgetn (content,10);
istr.close();
cout.write (content,10);
return 0;
}
|
This example gets the first ten characters of the file buffer and prints them out.
Basic template member declaration
( basic_streambuf<charT,traits> )
streamsize sgetn ( char_type* s, streamsize n );
|
See also
streambuf::sputc | Store character at current put position and increase put pointer (public member function) |