[問題] cin結尾問題

看板C_and_CPP (C/C++)作者 (小草)時間12年前 (2013/09/24 17:51), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/1
目前遇到一個問題 就是輸入一串字串 用while loop一直讀入去掉空格的字串 此時cin要如何判斷結尾? 在網路上查了許多都是說 直接while(cin>>string)這樣~ 所以我就寫了 int main(){ string input_string; cout<<"Please input a few words:"; while(cin>>input_string) cout<<input_string<<endl; } return 0; } 可是程式跑完並印出所有字串後並不會終止.. 不曉得問題出在哪? 順帶一提: 我的作業系統是win8 用的是codeblocks 謝謝> < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.195

09/24 18:56, , 1F
你的結尾是所有輸入結束還是一行結束?
09/24 18:56, 1F

09/24 18:57, , 2F
你查到的方式是判斷所有輸入結束的 從鍵盤的話要用 Ctrl-Z
09/24 18:57, 2F

09/24 19:27, , 3F
讀到 EOF 以後就停止了
09/24 19:27, 3F

09/24 23:52, , 4F
我想問的是一行結束的方式 試過\n \0 好似都不行:(
09/24 23:52, 4F

09/25 00:14, , 5F
你需要使用 cin.getline() 讀一行進來再進行處理
09/25 00:14, 5F

09/28 00:19, , 6F
用std::getline不是會比std::cin.getline適合嗎@_@
09/28 00:19, 6F
文章代碼(AID): #1IGM2rEd (C_and_CPP)
文章代碼(AID): #1IGM2rEd (C_and_CPP)