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);
通過這段代碼也可以清空緩存區並不影響下一次的漢字輸入。