010
30.11.2009, 14:48 Uhr
~cppbeginner
Gast
|
Danke für Eure Mühe!!
Momentan sieht meine Methode zum Auslesen der Felder in der Tabelle wie folgt aus. Wäre gut wenn ich diese Weiterverwenden könnte und nur die Trennzeichen *, $, | ersetzen könnte. So dass ich die Vektor- und String-Funktionen immernoch verwenden kann.
Tabellen-Struktur: wert1$wert2|wert3*schluessel
C++: |
string buffer; vector< std::string > lines;
ifstream in(listname); if(!in) { cout << "error: no list" << endl; }
while (std::getline(in, buffer)) { lines.push_back(buffer); }
buffer = elem; //nach diesem Element wird in der liste Zeile fuer Zeile gesucht buffer = "*" + buffer; //Beispiel: *schluessel for(i=0; i < lines.size(); i++) { //Wenn das Element in der Zeile gefunden wurde, schneide ich das dazugehörige Attribute //aus dem Stringbuffer heraus siehe substr() if(lines[i].find(buffer, 0) != -1) { buffer = lines[i]; buffer = buffer.substr( buffer.find("$", 0)+1, (buffer.find("|", 0) - buffer.find("$", 0))-1 ); break; } };
|
|