我試圖從用戶獲取單個字符輸入,而用戶不必按Enter鍵。我已經試過這樣:獲取單個字符而不按輸入
#include <stdio.h>
int main() {
int input;
for (;;) {
input = getchar();
printf("%d\n", input);
}
}
但不是隻做用戶需要按下回車鍵,還註冊了兩個印刷機(輸入字符和換行符),即:
$ ./tests
a
97
10
c
99
10
因爲我將總是期望從用戶輸入一個字符,並且希望該字符爲char
或int
,如何在不等待\n
的情況下獲得角色。
我也試過使用fgets
,但因爲我在循環等待用戶輸入,只是連續執行printf
而沒有阻塞,直到輸入。
我的預期輸出是:
a97
b98
...
注:目前我在OSX,但我很高興,適用於任何OSX或Linux的解決方案。
是什麼操作系統,你的工作就使用 讀(2)? – syntagma
這是可能的,但我們正在超越標準C領域。要做到這一點取決於您的操作系統,所以我們需要了解您的操作系統才能繼續。 – fuz
@ REACHUS更新! – Juicy