Fehler bei Anfügen an String
-
Ich habe folgendes Problem und ich kapiere es einfach nicht:
Ich habe folgende Datei, die ich einlese:
seq_a Maus Affe Elefant Katze
seq_b Erdbeere Banane ApfelVogel Wurm Kaefer
Birne Pflaume ZitroneDiese lese ich Zeilenweise ein und breche sie in Teilstrings auf (siehe unten in der Ausgabe unter teilstrings)
Anschließend möchte ich diese Begriffe alle hintereinanderfügen in einen String. (Gut, einmal für jeweils die erste und einmal für die zweite Zeile (also Tiere und Obst getrennt), aber das funktioniert auch)
Für eine Zeile klappt das auch wunderbar, aber die Folgezeile wird einfach an den Beginn des Strings geschrieben und überschreibt den vorherigen. (siehe Ausgabe "nach hinzufuegen").teilstrings:
Vogel
Wurm
Kaefervor hinzufuegen
MausAffeElefantKatzenach hinzufuegen: Vogel
VogelffeElefantKatzeMein Code sieht wie folgt aus:
//einen Absatz weiter springen for (zeilenzaehler=anzahl_sequenzen + 2; zeilenzaehler <vector_multiples_alignment.size(); zeilenzaehler++) { //Im Absatz die Sequenzen abarbeiten for (int sequenzzaehler = 0; sequenzzaehler < anzahl_sequenzen; sequenzzaehler++) //für jede Sequenz... { zeile.clear(); teilstrings.clear(); zeile = vector_multiples_alignment[zeilenzaehler]; teilstrings = string_splitten(zeile); cout<<"teilstrings"<<endl; for (int i=0; i<teilstrings.size(); i++) { cout<<teilstrings[i]<<endl; } cout<<endl; for (int i=0; i<teilstrings.size(); i++) //alle Sequenzfragmente einer Zeile anhängen { cout<<endl<<"vor hinzufuegen "<<endl; cout<<v_name_sequenz[sequenzzaehler].sequenz<<endl; //Teilstring[i] anfuegen v_name_sequenz[sequenzzaehler].sequenz = v_name_sequenz[sequenzzaehler].sequenz + teilstrings[i]; //v_name_sequenz[sequenzzaehler].sequenz += teilstrings[i]; cout<<endl<<"sequenz nach hinzufuegen: "<<teilstrings[i]<<endl; cout<<v_name_sequenz[sequenzzaehler].sequenz<<std::endl; } zeilenzaehler++; //kein Problem wegen der Leerzeile zwischen den Absaetzen cout<<endl<<endl; } }Was mache ich bloß falsch???
-
Hat sich erledigt,
Es funktioniert zwar nicht in der Shell, aber auf wundersame Weise, wenn man den String in eine Datei ausgibt!
Warum weiß der Himmel...