[語法] 字串讀取

看板C_and_CPP (C/C++)作者 (阿爬)時間15年前 (2010/08/04 11:49), 編輯推噓4(4015)
留言19則, 5人參與, 最新討論串1/1
請教各位高手 我想用VC++讀取字串 (包含enter) 例如以下情形 #include <iostream> #include <string> using namespace std; int main(){ string temp;//宣告一個string型態的變數 /* cin >> temp; (如果輸入a) cout << temp;(就印出a) cin >> temp; (如果輸入ab) cout << temp;(就拆成a,b) cin >> temp; (如果直接輸入enter) cout << temp;(就印出123) */ system("pause"); return 0; } 想請問各位高手註解部分的語法該怎麼寫 我是有想到用cin.get() 但是不知道直接輸入enter的部分該怎麼解決 而且cin.get() 好像也只能輸入char 型態不能輸入string 請各位板上的大大幫忙囉,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.243.18

08/04 11:56, , 1F
你需要的是..... 從temp字串中讀取每個char的方法
08/04 11:56, 1F

08/04 11:57, , 2F
c++太久沒用,我忘記怎寫了 orz... C#可以直接用temp[索引]
08/04 11:57, 2F

08/04 11:57, , 3F
去讀
08/04 11:57, 3F

08/04 12:11, , 4F
temp[0] == 'a'
08/04 12:11, 4F

08/04 12:26, , 5F
不太懂ab的那個例子, 如果是aa的話是印出a,a嗎??
08/04 12:26, 5F

08/04 12:35, , 6F
輸入aa 的話就是印出a,a
08/04 12:35, 6F

08/04 12:36, , 7F
我知道F23ko大大的意思, 但是我不會寫= =
08/04 12:36, 7F

08/04 12:39, , 8F
噢我會了, 我一直把enter的字元想成是'\0'
08/04 12:39, 8F

08/04 12:39, , 9F
'\n'才對, 謝謝大家
08/04 12:39, 9F

08/04 13:22, , 10F

08/04 17:09, , 11F
謝謝樓上大大撥空解題,不過a、ab只是範例
08/04 17:09, 11F

08/04 17:10, , 12F
我想要做的是無論輸入什麼東西,都能逐字取出
08/04 17:10, 12F

08/04 17:21, , 13F
那簡單, 每次cin後, 如果temp的length>1, 就跑迴圈一個
08/04 17:21, 13F

08/04 17:21, , 14F
一個印, 如果小於等於1, 就判斷是不是'\n', 是有印123,
08/04 17:21, 14F

08/04 17:22, , 15F
不是就把那個char印出來; 簡單想是這樣, 會不會有奇怪的
08/04 17:22, 15F

08/04 17:22, , 16F
case出現造成問題就再說吧....XD
08/04 17:22, 16F

08/04 19:37, , 17F

08/04 19:39, , 18F
邏輯不太一樣的話把else if的地方改一下就好了
08/04 19:39, 18F

08/04 19:55, , 19F
修改一下邏輯 = = http://nopaste.csie.org/a81fb
08/04 19:55, 19F
文章代碼(AID): #1CMED0h7 (C_and_CPP)
文章代碼(AID): #1CMED0h7 (C_and_CPP)