Разница между буфером и потоком составляет
A Поток - это последовательность байтов данных, которая передает информацию из или в указанный источник.
Последовательность байтов, поступающих в программу, называется входным потоком.Последовательность байтов, вытекающих из программы, называется выходным потоком. Использование Stream делает машину ввода-вывода независимой.
A Буфер - это последовательность байтов, которые хранятся в памяти.
В C операции ввода-вывода являются асинхронными: вы не знаете, когда у вас есть данные или их объем. Таким образом, буфер обычно используется для сбора данных из потока (файл, сокет, устройство).Когда буфер заполнен, потребители этого потока уведомляются и могут использовать данные из буфера, пока не будут исчерпаны.Затем подождите, пока буфер снова заполнится, прежде чем использовать эти данные.Это место для временного хранения чего-либо, чтобы уменьшить разницу между входной скоростью и выходной скоростью.Пока производитель работает быстрее, чем потребитель, производитель может продолжать сохранять выходные данные в буфере.Когда потребитель ускоряется, он может читать из буфера.Буфер находится посередине для преодоления разрыва.
Y в вашем вопросе может быть файл, сокет или устройство (I / O).
Надеюсь, это решит ваш запрос :)