[問題] 運用iterator將string中字元轉成大寫
看書看到一個練習
運用 iterators 將 string 中的字元轉換為大寫
我本來的寫法是這樣
for(string::iterator iter=x.begin();
iter !=x.end() ; iter++)
cout << toupper(*iter);
可是這樣跑出來的結果是一大串的數字
如果改寫成
for(string::iterator iter=x.begin();
iter != x.end(); iter++)
*iter = toupper(*iter);
cout << x << endl;
這樣就可以成功的把小寫轉換成大寫。
不太理解這兩種寫法的差異
第一種方式是錯在哪裡呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.20.243.5
※ 編輯: aaa595219 來自: 163.20.243.5 (03/28 16:32)
推
03/28 16:36, , 1F
03/28 16:36, 1F
推
03/28 16:56, , 2F
03/28 16:56, 2F
推
03/28 17:07, , 3F
03/28 17:07, 3F
推
03/28 17:19, , 4F
03/28 17:19, 4F
→
03/28 17:20, , 5F
03/28 17:20, 5F
→
03/28 22:19, , 6F
03/28 22:19, 6F