簡體   English   中英

使用cin兩次時的意外行為

[英]unexpected behavior when using cin twice

我在控制台程序中有以下c ++代碼:

float var1, var2;

cin >> var1;
cin >> var2;

當我要輸入第二個變量並使用右箭頭鍵時,第一個變量的輸入開始出現在屏幕上。 如果我按Enter鍵,第二個變量將采用屏幕上顯示的值。 我需要重置cin緩沖區嗎? 我試圖利用:

cin.clear();

和:

cin.ignore();

但行為仍然存在。

這與c ++無關。 您遇到的是cmd.exe一項功能, 如果在新行上按下右箭頭作為第一次按鍵,則右箭頭鍵的使用將獲得您之前鍵入的行(字符字符)。

沒事做。 只知道編譯器行為。 cin將占用空格或下一行(\\ n)分隔值。 現在向上和向下箭頭向下導航歷史記錄,以便您在控制台中獲得先前的輸入。 您可以從命令提示符進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM