1. 程式人生 > 其它 >叢集部署中解決定時任務重複執行的問題-redis分散式鎖應用

叢集部署中解決定時任務重複執行的問題-redis分散式鎖應用

stringstream用法

1.型別轉換

	stringstream stream;
	string result = "10000";
	int n = 0;
	stream << result;//可以看作將result輸入stream的緩衝區
	stream >> n;//n等於10000,將stream輸入n(cin)

2.用於儲存一行string資訊

用到getline()函式時,string型別不可用於緩衝,用到stringstream型別,一般用於分開儲存用,分開的資料,如下是用於儲存形如"[1,2,3,4,5,6,7]"的二叉樹資訊。

	  void
input() { string strLine, str; getline(cin, strLine); int x = strLine.find("["); int y = strLine.find("]"); string index = strLine.substr(x + 1, y - x - 1); stringstream ss(index); while (getline(ss, str, ',')) { zz.push_back(str); } }

3.stringstream中的clear()和str()成員函式

**clear函式是ios類的成員函式,用於清除標誌位,這點在多個stringstream物件構造和使用時一定要進行clear,不然之前的緩衝就停留在輸入輸出流中。stringstream型別物件構造麻煩,一般只用一個。

str()函式是stringstream的成員函式,使用無引數函式時返回一個string物件,使用字串變數作為引數時,表示將一個字串初始化給該物件的私有變數。**

string str("How are you? 123 1 4.368");
	stringstream ss(str);
	cout << ss.str() << endl;
string tmp; for (int i = 0; i < 3; i++) { ss >> tmp; cout << tmp << " "; }

在這裡插入圖片描述