【发布时间】:2010-12-20 09:20:14
【问题描述】:
在下一个代码中:
#include <stdio.h>
int main(void) {
int c;
while ((c=getchar())!= EOF)
putchar(c);
return 0;
}
我必须按Enter来打印我用getchar输入的所有字母,但我不想这样做,我想做的是按下字母并立即看到我介绍的字母在没有按 Enter 的情况下重复。例如,如果我按下字母“a”,我想在它旁边看到另一个“a”,依此类推:
aabbccddeeff.....
但是当我按'a'时没有任何反应,我可以写其他字母并且只有当我按Enter时才会出现副本:
abcdef
abcdef
我该怎么做?
我在Ubuntu下使用命令cc -o example example.c进行编译。
【问题讨论】:
-
这在很大程度上取决于您的操作系统和终端处理输入的方式。如果你指定你的操作环境,你可能会得到更好的答案。
-
cplusplus.com/forum/articles/19975 提供的答案适用于使用 WinAPI 的 Windows。
标签: c input character getchar unbuffered