Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:5.5.2013 14:04

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:5.5.2013 14:31

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):5.5.2013 14:56

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):5.5.2013 14:57

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:5.5.2013 15:28

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):5.5.2013 19:50

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.