In C language, does fopen() really creates two buffers, one for input and the other for output?
This is what my C book says:
Normally, the first step in using standard I/O is to use f open ( ) to open a file. (Recall, however, that the stdin, stdout, and stderr files are opened automatically.) The fopen( ) function not only opens a file but sets up a buffer (two buffers for read-write modes), and it sets up a data structure containing data about the file and ..
If opening a file with fopen () creates two buffers, in a writing mode like "a+", ie both reading and writing
FILE * fp = fopen ("file.txt", "a +");
setvbuf (destination_file, NULL, _IOFBF, BUFFER_SIZE);
what buffer does the setvbuf () function refer to?