我試圖在C語言中編寫一個簡單的「打字機」效果,其中文本每次在延遲時間出現一個字母。這是我具備的功能:輸出不會顯示,直到出現換行符爲止
#include <stdio.h>
#include <unistd.h>
void typestring(const char *str, useconds_t delay)
{
while (*str) {
putchar(*(str++));
usleep(delay);
}
}
問題是文本實際上並沒有出現,直到顯示\n
。我究竟做錯了什麼?
我一直告誡這麼多次對fflush()的thingie,特別是fflush(標準輸入),我已經使用fflush辭去()完全。 – 2013-04-22 08:21:24
任何人都可以給這個打字機問題的替代解決方案,而不使用fflush()? – 2013-04-22 08:21:49
我不知道在Windows中是否可行,但在Linux中可以使用''並將終端設置爲非緩衝。看看我的帖子中的鏈接 –
2013-04-22 08:23:31