我在C中尝试字符输入函数。以下是我运行的程序,用于交换getch和getche函数调用进行实验。
#include <stdio.h>
#include <conio.h>
#define MAX_CHARS 255
int main(){
//getche experiments
char buffer[MAX_CHARS+1],ch;
int x = 0;
while(x<MAX_CHARS&&(ch=getch())!='\r'){//relacing getch here with getche
buffer[x++]=ch;
putchar(ch);
}
buffer[x]='\0';
printf("%s",buffer);
return 0;
}
为什么屏幕在最后打印前会被清除?
谢谢
答案 0 :(得分:0)
在不知道getche
的文档说明的情况下,我们无法知道。没有这样的标准功能。我的猜测是它写入了一个printf
写入的不同屏幕。屏幕被清除,因为您已从一个屏幕(the raw 'console' screen you echoed to)切换到另一个屏幕(程序的标准输出连接到的普通终端)。
您的平台getche
的文档说了什么?