Anonymní profil zlz – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil zlz – Programujte.comAnonymní profil zlz – Programujte.com

 

Příspěvky odeslané z IP adresy 93.190.51.–

zlz
C / C++ › Pole nenačte poslední hodnotu
19. 11. 2011   #150207

To \n ve scanf neznamená konkrétně konec řádku, ale "bílý znak" (angl. white space). Resp. řadu (nula nebo více) takových znaků. A konec té řady se pozná až načtením dat za ní. V praxi to znamení, že ti ten scanf "doběhne" třeba až po zadání dvou nebo více řádků. Ve tvém případě je to celkem jedno, ale je dobré to vědět a raději to \n vyhoď.

Další drobnost. Konec souboru se většinou pozná až když na něj při čtení narazíš. Takže test před čtením je celkem k ničemu. Takže "lepší" je ta druhá varianta. Ale v tomto případě je to zase celkem jedno.

Hodnoty. Předpokládám, že používáš Windows. Tam je konec souboru ^Z a ne ^D. Takže ty hodnoty ti to načte všechny, alepak to hodí na chybu na tom ^D, což tě mate. Zkus si ty hodnoty vypisovat a případně dej vědět, jestli se pletu.

A co se týče toho hlídání vstupu, tak to bych udělal úplně jednoduše. Čteš dokud je v poli místo a daří se načíst platnou hodnotu. A pak jen zkontroluješ, co ten cyklus přerušilo a kolik jsi načetl hodnot a hotovo.

zlz
Flash › rozkouskování textu do pole
19. 11. 2011   #150197

pole = text.split("")

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý