Как в портативном C искать вперед при чтении из канала

Поскольку fseek () не работает на каналах, какие методы существуют для моделирования поиска вперед? Наивный подход - использовать fread () и выбросить прочитанное содержимое в буфер памяти. Для огромных попыток избежать огромных буферов вы должны использовать один и тот же буфер снова и снова, при окончательном чтении, используя только часть буфера.

Но разве это единственный подход? Есть ли другой способ избежать буфера и потенциального множественного чтения?

9
задан hippietrail 8 October 2014 в 08:12
поделиться