首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 控制台程序 cin.get() 無法暫停的原因與解決

     編輯:程式設計綜合問答

現象

`cin.get()` 執行後程序未暫停直接結束。

原因

`cin >> mins;` 讀取整數後,**換行符 `\n` 留在緩衝區**。緊接的 `cin.get()` 讀取到這個 `\n` 即返回,不再等待用戶輸入。

解決

cin >> mins;
cin.ignore(numeric_limits::max(), '\n'); // 清空緩衝區至換行
cin.get(); // 真正等待按鍵
// 或簡單雙 cin.get()
cin.get(); // 吃掉 \n
cin.get(); // 等待用戶

最佳實踐

混用 `>>` 和 `get/getline` 時,`>>` 後必須 `ignore()` 清理換行符。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved