作為一名c++程式員,經常遇到的一件尷尬事件就是c++沒有一個專門用來字串分割的函式,每次都要呼叫組合技,這里總結一下幾種方法
1.利用string的 find && substr
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void mysubstr() {
string tmp("0.0..0.0.");
vector<string> ret;
while (tmp.find(".") != string::npos) {
string t1 = tmp.substr(0, tmp.find("."));
if (!t1.empty()) ret.push_back(t1);
tmp = tmp.substr(tmp.find(".") + 1);
}
if (!tmp.empty()) ret.push_back(tmp);
for (auto r : ret) {
cout << r << endl;
}
}
int main() {
mysubstr();
return 0;
}
2.利用stringstream, stringstream要包含頭檔案sstream
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
void mysubstr() {
stringstream input("0.0.0..0.");
vector<string> ret;
string tmp;
while (getline(input, tmp, '.')) {
if (!tmp.empty()) {
ret.push_back(tmp);
}
}
for (auto r : ret) {
cout << r << endl;
}
}
int main() {
mysubstr();
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/201614.html
標籤:其他
上一篇:C++語言程式設計
