Substring Ausgabe Problem!! hilfe
-
hallo,
ich habe 2 arrays:
klammer_auf[2] und klammer_zu[2]
in klammer auf stehen die 3 orte der "{" drinnen und in klammer zu die orte von "{"
sie wurden mit str.find ermittelt.
jz will ich eig nur den inhalt zwischen den klammern ausgeben und zwar so:
cout <<txt.substr(klammer_auf[1], klammer_zu[1]) << endl;
dieser text steht in dem textfile drin:
a {f} lftj {o} {f}
der 1. inhalt funktioniert nur so:
cout <<str1.substr(geschwungen_orte_auf[0]+1, geschwungen_orte_zu[0]-3)<<endl;ausgabe: f
---
der 2.inhalt funktioniert gar nicht..
cout<<str1.substr(geschwungen_orte_auf[1]+1, geschwungen_orte_zu[1]-3) << endl;ausgabe: {o} {f}
str1.substr(geschwungen_orte_auf[1], geschwungen_orte_zu[1]) auch wenn ichs so formuliere...
hab schon viele varianten durch.. ka wieso
--
und beim 3. wird nur das zeichen so ausgeben:
cout << str2.substr(geschwungen_orte_auf[2], geschwungen_orte_zu[2])<<endl; // funktioniert
Ausgabe: {f} oder
cout << str2.substr(geschwungen_orte_auf[2]+1, geschwungen_orte_zu[2]-1)<<endl; // funktioniert
Ausgabe: f}
verstehe den befehl eig nicht mehr.. ka wieso der so herumspinnt. macht was er will bzw nichts einheitliches...
vlt kann mir jemand weiterhelfen
ich dachte nähmlich der funktt. so : substr(pos_anfang,pos_ende) und so lese ichs auch oft..
..ka wieso er bei mir immer was anderes macht

danke im vorraus !!
-
von welchem typ sind denn deine arrays klammer_auf[2] und klammer_zu[2]?
Ansonsten steht hier eindeutig das der erste Parameter den Startindex im string angibt und der Zweite die länge des zu ermittelnden string. Also nicht Anfangs- und Endpostion sondern Anfangsposition und Länge.
-
danke!