今天寫代碼偶遇cin輸入問題
試了好幾次發現 cin.clear()和cin.sync()并用不能清除緩沖區
不過有大佬提供了另一種方式
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
//轉自https://blog.csdn.net/weixin_43669941/article/details/90233667?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161927343016780271537666%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161927343016780271537666&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-2-90233667.first_rank_v2_pc_rank_v29&utm_term=cin.sync%E6%97%A0%E6%95%88
想問一下這里的numeric_limits和streamsize的含義是什么
也有大佬提供了這種方式
while(cin.get() != '\n');
uj5u.com熱心網友回復:
numeric_limits表示某種型別的大小,streamsize 就是long long因此numeric_limits<streamsize>::max() 得到long long的最大值
cin.ignore 的用法 見blog.csdn.net/wxbmelisky/article/details/48596881
uj5u.com熱心網友回復:
VS IDE中,在不明白的符號上點滑鼠右鍵,選轉到定義。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/280008.html
標籤:C++ 語言
下一篇:萌新有個關于補碼方面的問題
