在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