標題:
字串串流 (三)
[打印本頁]
作者:
陳曜誌
時間:
2024-8-7 14:05
標題:
字串串流 (三)
將字串 "123 42 13 56 8 67 7" 以空白劈開後,垂直打印出來。
#include<iostream>
#include<cstdlib>
#include<sstream>
using namespace std;
int main()
{
string str="123 42 13 56 8 67 7";
stringstream ss;
ss<<str;
int n;
while(ss>>n)
cout<<n<<endl;
return 0;
}
複製代碼
作者:
陳曜誌
時間:
2024-8-8 18:55
本帖最後由 陳曜誌 於 2024-8-8 19:03 編輯
在 C++ 中,stringstream 的 >> 操作符會自動將空白字符(包括空格、制表符和換行符)視為分隔符,並停止讀取當前的數字,並準備讀取下一個數字。
因此,當你使用 ss >> n 時 stringstream會從字符串中讀取數字,並在遇到空白字符時自動停止,這樣就能夠將字符串中的數字一個個提取出來。
字符串結束:當到達字符串的結尾(即沒有更多字符可讀取)時,讀取操作會結束。
遇到非數字字符:如果在預期讀取數字的地方遇到非數字字符(例如字母或符號),則讀取會停止,並且不會將這些字符轉換為數字。
作者:
李昱辰
時間:
2024-8-8 20:36
#include<iostream>
#include<string>
#include<algorithm>
#include<sstream>
using namespace std;
int main()
{
string str="123 42 13 56 8 67 7";
stringstream ss;
ss<<str;
int n;
while(ss>>n)
{
cout<<n<<endl;
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2