標題是誤導,因爲我更感興趣的是找到一個替代的解決方案。我的直覺是,檢查緩衝區是否爲空並不是最理想的解決方案(至少在我的情況下)。C++如何檢查是否給std :: cin緩衝區爲空
我是新的C++和使用C++一直遵循了Bjarne Stroustrup的編程原則和做法。目前我在第7章,我們在哪裏「煉」從第6章計算器(我把對源代碼的鏈接問題的結束。)
基本上,計算器可以採取多用戶輸入,用分號分隔。
> 5+2; 10*2; 5-1;
= 7
> = 20
> = 4
>
但我想擺脫提示字符(「>」),最後兩個答案,並再次顯示它,只有當用戶輸入要求。我的第一本能是找到一種方法來檢查緩衝區是否爲空,如果是,請關閉角色,如果沒有,請繼續回答問題。但經過一番Google搜索之後,我意識到這項任務並不像我最初想象的那麼容易......而且也許這可能不是一個好主意。
我想基本上我的問題是如何擺脫「>」字符爲當有多個輸入的最後兩個答案。但是,如果檢查CIN緩衝是可能是不是一個壞主意,畢竟,我很想知道如何做到這一點。
的源代碼:https://gist.github.com/Spicy-Pumpkin/4187856492ccca1a24eaa741d7417675
頭文件:http://www.stroustrup.com/Programming/PPP2code/std_lib_facilities.h
^你需要這個頭文件。我認爲它是由作者自己寫的。
編輯:我沒看網上的一些解決方案,繞不過是他們中的誠實沒有作出任何意義,我。它一直樣4日以來,我拿起了C++和我在編程非常薄的背景,所以有時甚至是谷歌搜索是有點困難..
用棍子戳,看看它是否咆哮。 –
類似的問題:http://stackoverflow.com/questions/3317740/checking-data-availability-before-calling-stdgetline –
在這種情況下,您可以使用'std :: getline'一次讀取整行,並顯示每行之後的提示 –