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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// 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) |
|