C++: Cyklus ignoruje podmínky
Zdravím,
od včerejška se snažím přijít na jednu nepochopitelnou záležitost:
do
{
tagName.push_back(line.at(indexOfLine));
indexOfLine++;
}
while(line.at(indexOfLine) != '>' || line.at(indexOfLine) != ' ');
Tento cyklus vesele ignoruje konečné podmínky a běží si do nekonečna. Neví někdo, prosím, čím to je? tagName a line jsou stringy ( ne char*, nicméně s char* to taky nefunguje ), index je int. Zápis znaků do tagName funguje správně, mezera se z line přečte, ale program na podmínku v cyklu prostě nezareaguje a místo ukončení cyklu pokračuje a šťastně si cyklí dál.
tagName je lokální proměnná funkce, line je parametr té funkce.
od včerejška se snažím přijít na jednu nepochopitelnou záležitost:
do
{
tagName.push_back(line.at(indexOfLine));
indexOfLine++;
}
while(line.at(indexOfLine) != '>' || line.at(indexOfLine) != ' ');
Tento cyklus vesele ignoruje konečné podmínky a běží si do nekonečna. Neví někdo, prosím, čím to je? tagName a line jsou stringy ( ne char*, nicméně s char* to taky nefunguje ), index je int. Zápis znaků do tagName funguje správně, mezera se z line přečte, ale program na podmínku v cyklu prostě nezareaguje a místo ukončení cyklu pokračuje a šťastně si cyklí dál.
tagName je lokální proměnná funkce, line je parametr té funkce.
Zrovna jsem spal a su nějak nepoužitelnej, ale:
|| -> &&
Jak to máš budou platit většinou obě podmínky a vždy aspoň jedna, takže cyklus nikdy neskončí.
|| -> &&
Jak to máš budou platit většinou obě podmínky a vždy aspoň jedna, takže cyklus nikdy neskončí.
Ty v..e... No fakt že jo. A to jsem si říkal, jestli tam ty && nepatří, několikrát, ale pořád jsem si říkal, že je to kravina. No jo, taky jsem to mohl zkusit, že... Můj problém. Ok, díky moc. Jsem věděl, že to bude kravina.