在linux下实现windows下的system("pause")+system("cls")


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);

通过这段代码也可以清空缓存区并不影响下一次的汉字输入。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM