Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Nevíte, jak zkontrolovat načtený řetězec znaků?
Klasické porovnání říká, že jsou řetězce různé, i když napíšu totéž, co je v kódu. Hodnotu proměnné si ještě nechám vypsat a souhlasí.

cin >> text_part;
cout << text_part;//souhlasí
text_part=="set"//vrátí nulu !?!
Editováno 5.5.2013 14:05
Odpovědět 5.5.2013 14:04
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Jiří Gracík:

http://www.itnetwork.cz/…y-enum-flagy

pročti si tohle, je to sice C# ale o tomhle se tam píše :)

Nahoru Odpovědět 5.5.2013 14:31
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Zdeněk Pavlátka
Lukáš Hruda (Luckin):

Jakého datového typu je text_part? Pokud char*, tedy pokud ten řetězec děláš jako pole znaků, tak je logické, že to nefunguje.

 
Nahoru Odpovědět 5.5.2013 14:56
Avatar
Odpovídá na Jiří Gracík
Lukáš Hruda (Luckin):

Obávám se, že v C/C++ mu tohle moc nepomůže.

 
Nahoru Odpovědět 5.5.2013 14:57
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Jiří Gracík:

Nevím jestli mu to pomůže, ale mohlo by :)

Nahoru Odpovědět 5.5.2013 15:28
Creating websites is awesome till you see the result in another browser ...
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 5.5.2013 19:32
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Lukáš Hruda (Luckin):

text_part je v podstatě konstantní pointer, a řetězcová konstanta vrací pointer na svůj první znak, tudíž ve výrazu text_part == "set" porovnáváš adresy řetězců a ty nikdy nebudou stejné. Pokud chceš porovnávat řetězce, použij funkcí strcmp, nebo si napiš svojí funkci, kde budeš porovnávat znak po znaku.

 
Nahoru Odpovědět 5.5.2013 19:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.