欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

淺談c++中的while(cin)問題-創(chuàng)新互聯(lián)

xp系統(tǒng)中利用dev-cpp進行編程,語句while(cin>>str),str是個string類型,在一行中輸入幾個string,末位加個ctrl+z,輸入沒有結束,除非出入換行后,再輸入ctrl+z才能跳出輸入。一直不明白未什么,解釋請看下。

公司主營業(yè)務:成都網站建設、做網站、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出南陵免費做網站回饋大家。

輸入緩沖是行緩沖。當從鍵盤上輸入一串字符并按回車后,這些字符會首先被送到輸入緩沖區(qū)中存儲。每當按下回車鍵后,cin.get()   就會檢測輸入緩沖區(qū)中是否有了可讀的數(shù)據(jù)。cin.get()   還會對鍵盤上是否有作為流結束標志的   Ctrl+Z   或者   Ctrl+D   鍵按下作出檢查,其檢查的方式有兩種:阻塞式以及非阻塞式。

阻塞式檢查方式指的是只有在回車鍵按下之后才對此前是否有  Ctrl+Z   組合鍵按下進行檢查,非阻塞式樣指的是按下  Ctrl+D   之后立即響應的方式。如果在按  Ctrl+D  之前已經從鍵盤輸入了字符,則  Ctrl+D的作用就相當于回車,即把這些字符送到輸入緩沖區(qū)供讀取使用,此時Ctrl+D不再起流結束符的作用。如果按  Ctrl+D   之前沒有任何鍵盤輸入,則  Ctrl+D  就是流結束的信號。

Windows系統(tǒng)中一般采用阻塞式檢查   Ctrl+Z、Unix/Linux系統(tǒng)下一般采用非阻塞式的檢查   Ctrl+D。樓主是在Windows系統(tǒng)下,因此使用阻塞式的   Ctrl+Z   來標識流的結束。

這種阻塞式的方式有一個特點:只有按下回車之后才有可能檢測在此之前是否有Ctrl+Z按下。還有一個特點就是:如果輸入緩沖區(qū)中有可讀的數(shù)據(jù)則不會檢測Ctrl+Z(因為有要讀的數(shù)據(jù),還不能認為到了流的末尾)。還有一點需要知道:Ctrl+Z產生的不是一個普通的ASCII碼值,也就是說它產生的不是一個字符,所以不會跟其它從鍵盤上輸入的字符一樣能夠存放在輸入緩沖區(qū)。明白了這幾點之后就可以來解釋樓主提出的問題了。

從鍵盤上輸入abcd^z   加   回車之后在Windows系統(tǒng)上是這樣處理的:由于回車的作用,前面的   abcd   等字符被送到輸入緩沖區(qū)(注意:上面說過了,^z不會產生字符,所以更不會存儲到輸入緩沖區(qū),緩沖區(qū)中沒有   ^z   的存在)。這時,cin.get()   檢測到輸入緩沖區(qū)中已經有數(shù)據(jù)存在(因此不再檢查是否有   ^z   的輸入),于是從緩沖中讀取相應的數(shù)據(jù)。如果都讀取完了,則輸入緩沖區(qū)重新變?yōu)榭眨琧in.get()   等待新的輸入。可見,盡管有   ^z   按下,但是由于在此之前還有其它輸入字符(abcd),所以流也不會結束。

因此,輸入流結束的條件就是:^z   之前不能有任何字符輸入(回車除外),否則   ^z   起不到流結束的作用。

以上這篇淺談c++中的while(cin)問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)建站。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、建站服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文題目:淺談c++中的while(cin)問題-創(chuàng)新互聯(lián)
新聞來源:http://chinadenli.net/article28/digdcp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化關鍵詞優(yōu)化靜態(tài)網站定制網站響應式網站網站維護

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司