從逗號分隔的字串中提取整數的C++程式
假設我們有一個字串,其中包含一些用逗號分隔的整數。我們需要將它們分離出來,並在不同的行中顯示每個整數。為此,我們將使用C++中的stringstream(位於sstream庫中)。這是一個基於字串的流類。我們可以使用提取運算子(<<)提取內容,使用插入運算子(>>)插入內容,以及使用str()函式設定底層字串裝置物件的內容。
因此,如果輸入類似於s = "56,9,85,256,47",則輸出將是
56 9 85 256 47
為了解決這個問題,我們將遵循以下步驟:
定義一個數組take_int(string str)
建立一個名為ss的stringstream物件
定義一個數組result
當從ss中獲取的新整數項到temp不為空時,執行以下操作:
將tmp插入到result的末尾
跳過逗號字元,方法是取出單個字元
返回result
在主方法中執行以下操作:
定義一個數組integers = take_int(s)
對於初始化i := 0,當i < integers的大小,更新(i加1),執行以下操作:
顯示integers[i]
示例
讓我們看看下面的實現,以便更好地理解:
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
vector<int> take_int(string str) {
stringstream ss(str);
vector<int> result;
char ch;
int tmp;
while(ss >> tmp) {
result.push_back(tmp);
ss >> ch;
}
return result;
}
int main(){
string s = "56,9,85,256,47";
vector<int> integers = take_int(s);
for(int i = 0; i < integers.size(); i++)
cout << integers[i] << "\n";
}
輸入
56,9,85,256,47
輸出
56 9 85 256 47
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP