Getch只是拒绝为我工作,因为它应该
我是C新手,所以我想获得更多的库函数经验。当我开始摆弄getch()时,我不能为了我的生活而开始工作。所发生的只是这些角色被回显到控制台,我可以输入多个,甚至按下输入键,而不必在整个程序中继续输入。这是我制作的一个小测试代码。任何想法,我哪里错了?Getch只是拒绝为我工作,因为它应该
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(){
char i = '9';
i = getch();
printf("%c", i);
}
编辑:谢谢你所有的答案,虽然我可以更清楚我想要什么。我希望getch()几乎可以像fgets()一样使用,除非我不希望它回显,我希望控制台能够接受立即输入的字符,而不需要按任何回车键。 getch错误的工具来做到这一点?
更改此
i = getch();
到
i = getchar();
getchar()
是一个标准的功能会从标准输入一个字符。
getch()
是非标准的。它从键盘获得一个字符(可能与标准输入不同)并且不会回显它。
非标准*和*不可移植(意味着它不能保证存在,更不用说重现所需的行为),与'
是正确的 – Arvindsinc2
getch()是一个函数,用于结束或关闭conio头文件在窗口中使用的主函数。 没有使用stdlib头函数,它将字符串 作为函数使用。 %c用于打印字符。 如果u要打印我不是去像下面提及: -
#include <stdio.h>
#include <conio.h>
void main()
{
int i = 9;
printf("%d", i);
getch();
}
这是不是真的清楚什么是你的目标? – yakobom
[如何获得在控制台按键事件(HTTP的可能重复:/ /*.com/questions/14973046/how-to-get-keypress-event-in-console) –
你可能想看看'ncurses'库。 –