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

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

posted @ 2020-07-28 21:50  归江渡鸟泅白浪  阅读(2094)  评论(0)    收藏  举报