Problem mit vector<string>.push_back()

sim

Admiral Special
Mitglied seit
29.03.2002
Beiträge
1.900
Renomée
15
Standort
Tübingen
--C++-- (vergessen, in den Titel zu tun)

Hi,
ich habe folgenden Code:
Code:
string s(argv[1]);
  int size = s.size();
  int i,j, k;
  vector<string> substrings;
  vector<int> counter;
  
  for(i=0; i<=size; i++)
  {
    for(j=0; j<=size-i; j++)
    {
       //cout << s.substr(i,j) << endl;
       substrings.push_back(s.substr(i,j));                   
    }
  }
Am Ende steht in dem Array jedoch für den String "test" nur
t
te
tes
test

anstatt
t
te
tes
test
e
es
est
s
st
t

Die Strings werden schon korrekt abgeschnitten (wenn ich sie innerhalb der zweiten Schleife mit cout ausgebe, sind alle da), nur werden nicht alle im Array gespeichert, sondern nur die vom ersten Schleifendurchlauf *noahnung*
Wär cool wenn mir jemand auf de Sprünge helfen könnte ;)
MfG,

sim
.
.
Edit:
Problem gelöst... man sollte vielleicht am Ende nicht nur bis "size" zählen, sondern bis "substrings.size" *chatt*
 
Zuletzt bearbeitet:
Zurück
Oben Unten