Как fgetc работает внутри

Действительно ли он читает символ за символом или считывает некоторые байты в буфер ядра и возвращает пользователю символ за символом?

Это то же самое с fgets?

Позвольте мне сказать, что я использую glibc и компилятор gcc.

1 ответ

Решение

Почти верно. Типичная современная реализация, которая имеет разделение пользователь / ядро, хранит байты в пользовательском буфере, а не в буфере ядра. Так много звонков fgetc на самом деле вызвать несколько истинных системных вызовов.

Другие вопросы по тегам