Как fgetc работает внутри
Действительно ли он читает символ за символом или считывает некоторые байты в буфер ядра и возвращает пользователю символ за символом?
Это то же самое с fgets
?
Позвольте мне сказать, что я использую glibc и компилятор gcc.
1 ответ
Решение
Почти верно. Типичная современная реализация, которая имеет разделение пользователь / ядро, хранит байты в пользовательском буфере, а не в буфере ядра. Так много звонков fgetc
на самом деле вызвать несколько истинных системных вызовов.