[C/C++] fflush() for linux

  • fflush() for linux
  • 在windows底下要清除螢幕,我們會用system("cls")或者是fflush(stdout),但是在linux底下就不能使用fflush(stdout),只好勉為其難的用以下方式取代(畢竟clear並沒有真的把畫面清空):

    除了上面常用的例子之外,fflush()也常在以下情況使用,如下程式碼:

    在windows底下這個程式可以正常的運作,但是一旦拿到linux底下編譯就會出現下面的結果:

    會有這樣的結果的原因是因為在linux底下fflush(stdin)是無效的,所以這時筆者我會以這樣的方式解決:

    使用fgetc(stdin),來吸收掉enter後多出的字元,這樣的作法固然有用,但是必須非常了解scanf(), fgetc(), fgets()等函式的特性去使用才不會產生別的錯誤。

1 comment:

  1. Anonymous1:22 PM

    谢谢你的信息,成功的解决了我的程序在Linux下的运行!
    abbott@gmail.com

    ReplyDelete

Orange - data analysis tool

Installation pip install orange3 Run orange python -m Orange.canvas