void clear()//清屏函数 { char buf[1024]={0}; cout<<"请输入回车键继续……"<<endl; fgets(buf,1024,stdin); system("clear"); }
这里运用fgets函数获取我们键盘的回车指令之后再继续运行执行system("clear")清屏操作;
值得注意的是当调用该函数的上个语句如果是cin>>时,我们cin键盘输入的值后 敲的回车键会被这个fgets函数获取进而执行system("clear"),
所以在cin的语句后面可以再加一个fgets函数去把cin后面的回车给获取了,使得不影响后面回车后再清屏的效果。
————————————————————————————————————————————————————————————————————————————————————————————
也可以直接
cin.get();
fflush(stdin);
LInux下的C++中可以用这个,这个就是获取到回车键时继续执行后面的程序,否则暂停
fflush(stdin);现在在很多编译器上是不报错但是并没用用所以
setbuf(stdin ,NULL);
这个可以替代失效的fflush(stdin,NULL);但是可能会影响下一次的汉字输入(不影响英文输入);
while((c = getchar()) != '\n' && c != EOF);
通过这段代码也可以清空缓存区并不影响下一次的汉字输入。