這篇也是源自於水源C板上板友的一個問題,涉及Linux上的控制檯的實現方式和歷史原因。因爲內容比較長,所以在這裏再排版一下發出來。 原帖在這裏 。
可以設置不帶緩衝的標準輸入流嗎?
WaterElement(UnChanged) 於 2014年12月09日23:29:51 星期二 問到:
請問對於標準輸入流可以設置不帶緩衝嗎?比如以下程序
#include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { FILE *fp = fdopen(STDIN_FILENO, "r"); setvbuf(fp, NULL, _IONBF, 0); char buffer[20]; buffer[0] = 0; fgets(buffer, 20, fp); printf("buffer …