fgetc如何在内部工作

Sha*_*dra 2 c glibc stdio fgets fgetc

它是否实际上逐个字符地读取或者是否将某些字节读入内核缓冲区并按字符返回到用户字符?

和它一样fgets吗?

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

cni*_*tar 5

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