(C++) Ich habe einen Vektor von Strings verschiedener "Kategorien". Jede Kategorie ist durch eine "00" -Zeichenkette im Vektor getrennt.Trennen Sie einen Vektor (oder Array) von Strings, die durch eine "00" getrennt sind
So wie:
"Pizza" "IceCream" "Brot" "00" "Windows" "Mac" "Linux" "Unix" "00" "Raining" „Snowing“ „00“ „Wandern“ „00“
ich versuche, herauszufinden, wie man diese Kategorien in einen Vektor von Strings mit alle Kategorie trennen s in einem String wie:
"Pizza IceCream Bread" "Windows Mac Linux Unix" "Raining Snowing" "Wandern"
EDIT: alldoubles ist der Vektor Name und seine Größe ist Totalsize
Versuch: der Versuch, in eine Warteschlange hinzuzufügen, wenn die Zeichenfolge nicht 00 ist
int loc = 0; //counter
queue<string> tmp;
string cur;
while (loc<totalsize)
{
while (cur != "00")
{
tmp.push(cur); //add to queue when not 00
loc = loc + 1;
cur = alldoubles[loc];
}
while (tmp.empty()!=false) //unload the queue into a string res
{ // after an 00 was found and cout it
string res;
res = res + tmp.front();
tmp.pop();
cout << "RES " << res << endl;
}
}
EDIT: jetzt ich RES und die RES Pizza, die nicht alle Lebensmittel mit diesem Code ist
int loc = 0;
queue<string> tmp;
string cur;
while (loc<totalsize)
{
while (cur != "00")
{
tmp.push(cur);
cur = alldoubles[loc];
loc = loc+1;
}
while (!tmp.empty())
{
string res;
res = res + tmp.front();
tmp.pop();
cout << "RES " << res << endl;
}
}
uns zeigen, was Sie meinen Versuch –
Ok Ich habe versucht, aber es funktioniert nicht. Es bleibt in einer Endlosschleife stecken und ich habe ein paar Dinge ausprobiert, die nicht funktionierten. – fman
Wo weisen Sie totalsize einen Wert zu? – FCo