開發平台(Platform): (Ex: Win10, Linux, ...)
win10 + cygwin
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC 6.4.0
問題(Question):
我想要清空緩衝區
試過fflush(stdin)[非標準] 和 setbuf(stdin, NULL)[標準]
但我剛剛寫的題目中卻發現這兩個都沒在工作,緩衝區一樣有東西沒被清空
但我用GDB除錯的時候就正常工作了....
最後我用scanf("%[^\n]*s"); getchar();就正常運作
直接用scanf("%[^\n]*s%*c"); 也有機率不工作
這是我對緩衝區有所誤解以至於我錯誤使用這些功能嗎?
還是這些函式沒有競爭力,不懂什麼叫做吃苦當吃補,都沒在作功德
謝謝