020
05.10.2004, 01:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
naja er kann das ja auch nur einmal finden weil du nur einmal nach suchst...
wenn du mehrer "mails" in einer datei hast die er jedesmal wieder neu sortieren soll musst du die sucherrei und ausgabe in die datei auch wieder in einer schleife laufen lassen auf die schnelle ungetestet so...
C++: |
#include <iostream> #include <string> #include <vector> #include <fstream> #include <iterator> #include <algorithm>
int main() { std::string line; std::string file_in="test.txt"; std::string file_out="test2.txt"; std::string keyword1="Von:"; std::string keyword2="------ Bestell Formular --------"; std::string keyword3="##----- End ---------------------";
std::vector<std::string> file; std::vector<std::string>::iterator start,i,j,k,l;
std::ifstream ifs(file_in.c_str()); while(std::getline(ifs,line)) file.push_back(line); ifs.close();
std::ofstream ofs(file_out.c_str()); for(start=file.begin();start!=file.end();start=l){ for(i=start;i!=file.end() && std::string::npos==i->find(keyword1);++i); for(j=i+1;j!=file.end() && std::string::npos==j->find(keyword2);++j); for(k=j+1;k!=file.end() && std::string::npos==k->find(keyword3);++k); for(l=k+1;l!=file.end() && std::string::npos==l->find(keyword1);++l); ofs<<*i<<std::endl; std::copy(j+1,k, std::ostream_iterator<std::string>(ofs, "\n")); std::copy(i+1,j, std::ostream_iterator<std::string>(ofs, "\n")); ofs<<*j<<std::endl; std::copy(k,l, std::ostream_iterator<std::string>(ofs, "\n")); } ofs.close();
// std::copy(file.begin(), file.end(), std::ostream_iterator<std::string>(std::cout, "\n")); }
|
macht dann 200€ -- ...fleißig wie zwei Weißbrote Dieser Post wurde am 05.10.2004 um 01:05 Uhr von Windalf editiert. |