Спасибо за ответы. Не обижайтесь пожалуйста, но я не спрашивал как лучше это реализовать. Я прекрасно смогу это сделать включая буферизацию управление потоком и т.д. и т.п. Я задавал вопрос академически. Меня интересует да или нет. Насколько я смог понять, то на первый вопрос ответ положительный.
Хочу немного лучше понять Си. А то я и на Си пишу как на ассемблере.