终端驱动程序不仅一行一行缓冲输入,而且还一行一行缓冲输出。驱动程序缓冲输出,直到它收到一个换行符或者程序试图从终端读取输入。
#include<stdio.h>
void main()
{
printf("haha");
while(1);
}
这个程序将不会有输出,因为“haha"被缓冲,而接下来终端没有输入也没有换行符。如果没有最后的循环,还是会有输出,因为main函数结束后程序自动调用exit()函数,该函数刷新缓冲区。
本文探讨了终端驱动程序如何缓冲输入和输出的过程。当程序尝试输出数据到终端时,这些数据会被暂时缓存起来,直到遇到换行符或程序读取输入时才会实际显示出来。通过一个简单的C程序示例说明了这一机制。
终端驱动程序不仅一行一行缓冲输入,而且还一行一行缓冲输出。驱动程序缓冲输出,直到它收到一个换行符或者程序试图从终端读取输入。
#include<stdio.h>
void main()
{
printf("haha");
while(1);
}
这个程序将不会有输出,因为“haha"被缓冲,而接下来终端没有输入也没有换行符。如果没有最后的循环,还是会有输出,因为main函数结束后程序自动调用exit()函数,该函数刷新缓冲区。
1519
8205

被折叠的 条评论
为什么被折叠?
