The function setvbuf () in C
The function int setvbuf (FILE * stream, char * buffer, int mode, size_t size) in Standard C Library determines how a Stream should be buffered.
The function int setvbuf (FILE * stream, char * buffer, int mode, size_t size) in Standard C Library determines how a Stream should be buffered.
Declare setvbuf () function in C
Below is the declaration for the setvbuf () function in C:
int setvbuf ( FILE * stream , char * buffer , int mode , size_t size )
Parameters
stream - This is the pointer to a FILE object that identifies the opened stream.
buffer - This is the buffer allocated. If set to NULL, the function automatically allocates a Buffer with the specified size.
mode - Defines the mode for buffering files.
mode Description_IOFBF Full buffering - On the output, the data is written once the buffer is full. On the input, the buffer is filled when an input operation is requested and the buffer is empty _IOLBF Line buffering - On the output, data is recorded when encountered: or a newline character (new line) is inserted into Stream or when the buffer is full . On the Input, the buffer is filled in to the newline character next to the input when an input operation is requested and the buffer is empty _IONBF No buffering - No buffers are used. Each I / O activity is recorded as soon as possible. Buffer parameters and size are ignoredsize - This is the buffer size (byte value).
Returns the value
This function returns 0 if successful. If not, the function returns a value other than 0.
For example
The following program C illustrates how to use the setvbuf () function in C:
#include #include int main () { char buff [ 1024 ]; memset ( buff , '' , sizeof ( buff )); fprintf ( stdout , "Chuan bi buffern" ); setvbuf ( stdout , buff , _IOFBF , 1024 ); fprintf ( stdout , "Hoc C co ban va nang cao tai QTM !!!n" ); fprintf ( stdout , "Phan noi dung nay se duoc demn" ); fflush ( stdout ); return ( 0 ); }
Compile and run the above program to produce the following results. Here the program still buffers the output into the buff until it encounters the first call to fflush (), then it starts buffering output.
According to Tutorialspoint
Previous lesson: Function setbuf () in C
Next lesson: Function tmpfile () in C
You should read it
Maybe you are interested
The whole scene of meteorites hitting the Earth during the past 33 years, why can't we feel it? The most beautiful meteor shower of the year and amazing astronomical phenomena in August Is Proxima b our 'neighbor' planet? Why have scientists found Proxima b - '2nd Earth' until now? The mystery of the numbers of Proxima b: The 'Second Earth' on the planet may exist life Early in the morning, Venus and Jupiter will meet in the sky, don't miss this magical, rare moment!