Witam!
Mam w pliku kilka linijek typu;
jakis tam tekst¤=¤jakis tam inny tekst.
i tak dalej¤=¤i tak dalej cos innego
Jest jakaś przyjazna funkcja albo sposób, aby użyć stringa "¤=¤" jako separator?
#include <algorithm>
#include <string>
#include <vector>
#include <iterator>
#include <iostream>
using namespace std;
vector<string> split(const string& s, const string& delim) {
vector<string> result;
if (delim.empty()) {
result.push_back(s);
return result;
}
string::const_iterator substart = s.begin(), subend;
while (true) {
subend = search(substart, s.end(), delim.begin(), delim.end());
string temp(substart, subend);
if (!temp.empty()) {
result.push_back(temp);
}
if (subend == s.end()) {
break;
}
substart = subend + delim.size();
}
return result;
}
int main() {
string s;
vector<string> tmp;
while(getline(cin, s)) {
tmp = split(s, "¤=¤");
for(size_t i = 0; i < tmp.size(); ++i) {
cout << tmp[i] << "\n";
}
}
return 0;
}
http://ideone.com/XiMd0C
Chociazby tak. Rozwiazanie zaczerpniete z: http://stackoverflow.com/questions/236129/splitting-a-string-in-c
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.