簡體   English   中英

C ++:使用cin.ignore之前需要使用cin.get()嗎?

[英]C++: Do I need to use cin.get() before I use cin.ignore?

如果我僅在流中使用標准cin cin.ignore(100,'\\n')是否cin.ignore(100,'\\n')

例:

cin >> temp;  //enter key input
if(cin.fail())
{
  cin.clear();
  cin.ignore(100,'\n');
}

還是我必須使用cin.get()?

例:

temp=cin.get();
if(cin.fail())
{
  cin.clear();
  cin.ignore(100,'\n');
}

還是這些代碼會產生相同的結果?

啊,愚蠢的我,我做了一個函數來調用清除

void clear()
{
  cin.clear();
  cin.ignore(100,'\n');
}

在我的程序中,它多次調用了函數clear() 如果在沒有cin的輸入的情況下連續兩次調用clear() ,則提示輸入空白行。

我猜這是造成它的原因。

暫無
暫無

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

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