开发平台(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"); 也有机率不工作
这是我对缓冲区有所误解以至于我错误使用这些功能吗?
还是这些函式没有竞争力,不懂什么叫做吃苦当吃补,都没在作功德
谢谢