2

它实际上是逐个字符地读取,还是将一些字节读入内核缓冲区并逐个字符地返回给用户?

和 一样fgets吗?

让我说我使用 glibc 和 gcc 编译器。

4

1 回答 1

5

几乎是对的。具有用户/内核分离的典型现代实现将字节存储在用户缓冲区中,而不是内核缓冲区中。因此,许多调用fgetc实际上触发了几个真正的系统调用。

于 2012-03-20T18:10:30.333 回答