virtual basic_streambuf<E, T> *setbuf(E *s, streamsize n);
The protected member function returns zero if the file pointer fp is a null pointer. Otherwise, it calls setvbuf(fp,
(char *)s, _IOFBF, n * sizeof (E)) to offer the array of n elements beginning at s as a buffer for the stream.
If that function returns a nonzero value, the function returns a null pointer. Otherwise, it returns this to signal success.