|
20.10.13, 21:28 | #1 |
Junior Member
Registriert seit: Oct 2013
Beiträge: 15
Thanks: 3
Thanked 5 Times in 5 Posts
|
[C++] Filezilla
Hey Leute,
sup3ria hatte [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. ] eine Variante für Delphi geschrieben, deshalb dachte ich mir, dass ich meine C++ Funktion hier posten kann ????: Polymorphin [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. ] Fragen, Anregungen, Kritik erwünscht. Code:
} void Filezilla() { string path = getenv("appdata"); path += "\\FileZilla\\recentservers.xml"; vector <string> server; ifstream xmlsvr(path); string line; while(getline(xmlsvr, line)) { server.push_back(line); } xmlsvr.close(); for (int i = 0; i < server.size(); i++) { if (server[i].compare(" <Server>") == 0) { string sTempHost, sTempPort, sTempUser, sTempPass; sTempHost = server[i+1]; sTempHost = sTempHost.substr(18, sTempHost.size()-25); //Leerzeichen zu Beginn entfernen + <host> & </host> sTempPort = server[i+2]; sTempPort = sTempPort.substr(18, sTempPort.size()-25); //Leerzeichen zu Beginn entfernen + <port> & </port> sTempUser = server[i+5]; sTempUser = sTempUser.substr(18, sTempUser.size()-25); //Leerzeichen zu Beginn entfernen + <User> & </User> sTempPass = server[i+6]; sTempPass = sTempPass.substr(18, sTempPass.size()-25); //Leerzeichen zu Beginn entfernen + <pass> & </pass> cout << sTempHost << endl << sTempPort << endl << sTempUser << endl << sTempPass << endl << endl << endl; } } } |
The Following User Says Thank You to Becks For This Useful Post: | sup3ria (20.10.13) |
20.10.13, 21:48 | #2 |
Co-Admin
Registriert seit: Oct 2013
Beiträge: 14
Thanks: 0
Thanked 5 Times in 4 Posts
|
AW: [C++] Filezilla
Jau passt doch so - idealerweise das wie nen XML Parser laufen lassen bzw einen verwenden - aber solange sich die Reihenfolge der Einträge nicht ändert bzw das Ident-Level passt das so.
|
20.10.13, 23:12 | #3 |
Junior Member
Registriert seit: Oct 2013
Beiträge: 2
Thanks: 0
Thanked 2 Times in 1 Post
|
AW: [C++] Filezilla
Wie schon gesagt, am besten einen XML Parser verwenden oder das ganze einfach mit Regulären Ausdrücken umsetzen. Hatte das ganze selber mal für FileZilla gemacht mit Boost.PropertyTree, ist bestimmt nicht der schnellste Parser aber bietet den Funktionsumfang den man brauch.
Liebe Grüße Domenic |
21.10.13, 07:10 | #4 |
Junior Member
Registriert seit: Oct 2013
Beiträge: 15
Thanks: 3
Thanked 5 Times in 5 Posts
|
AW: [C++] Filezilla
Ja, aber ich wollte kein Gebrauch von externen Libs machen (Boost etc.). Regex wäre noch ne gute Idee.
So lange Filezilla nichts an der XML ändern, wird das funzen. Danach werde ich es updaten ^^ MfG |
Themen-Optionen | |
Ansicht | |
|
|