Forum » Programiranje » Težava s programom, system("cls")
Težava s programom, system("cls")
bi0s ::
Torej napisal sem programček, kateri nam omogoča premikanje chara po ekranu. Vsakič ko se char premakne po osi, se na prejšni lokaciji izbriše znak. Za ta izbris sem uporabil system("cls"), ampak problem nastane pri tem ker zbriše vse ostale znake na ekranu. Obstaja kak način da temu ne bi bilo tako? Prilepim kodo
- spremenil: bi0s ()
fiction ::
Za razno risanje po konzoli se ponavadi uporablja ANSI escape code. Na kaksnem drugem operacijskem sistemu bi ti predlagal lahko tudi uporabo ncurses knjiznice. Sicer ti pa tega itak ni treba poceti prav pogosto, ker obstaja drugacen GUI. V tvojem primeru si lahko tudi zapomnis kaj si ze narisal in potem po izbrisu zaslona pac narises vse skupaj se enkrat (recimo brez dolocene tocke).
fiction ::
No v vsakem primeru: +1 tocka za system("cls") idejo za brisanje ekrana in -5 tock za uporabo system() :)
Ponavadi se hoces cim bolj izogibati klicu zunanjih programov. Iz performancnih (zagon novega programa traja zelo dolgo) ter tudi varnostnih razlogov (ce ti nekdo podatkne cls program, ki dela nekaj drugega ga bos lepo izvedel s tvojimi privilegiji).
Ponavadi se hoces cim bolj izogibati klicu zunanjih programov. Iz performancnih (zagon novega programa traja zelo dolgo) ter tudi varnostnih razlogov (ce ti nekdo podatkne cls program, ki dela nekaj drugega ga bos lepo izvedel s tvojimi privilegiji).
fiction ::
Fun-with-ansi-escape-codes bo mogoce zanimivo.
"ANSI escape code" je pac eno navadno zaporedje ASCII znakov, ki jih izpises na izhod ala printf("blabla"). Na zacetku pride ESC znak (ASCII koda 27) in potem se nekaj drugih znakov. Terminal, namesto da direktno izpise tiste znake, vse skupaj smatra kot poseben ukaz in recimo vklopi rdeco barvo, zbrise ekran ali kaj podobnega. Mora pa jasno tako zaporedje podpirati, ce ne pride samo do izpisa cudnih znakov.
"ANSI escape code" je pac eno navadno zaporedje ASCII znakov, ki jih izpises na izhod ala printf("blabla"). Na zacetku pride ESC znak (ASCII koda 27) in potem se nekaj drugih znakov. Terminal, namesto da direktno izpise tiste znake, vse skupaj smatra kot poseben ukaz in recimo vklopi rdeco barvo, zbrise ekran ali kaj podobnega. Mora pa jasno tako zaporedje podpirati, ce ne pride samo do izpisa cudnih znakov.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Web services - Neveljavni karakterji v XMLOddelek: Programiranje | 4132 (3244) | boolsheat |
» | [naloga][c++] problemOddelek: Programiranje | 1479 (1307) | StajercSSS |
» | [c] char zadevaOddelek: Programiranje | 2250 (2048) | TheCyborg |
» | c++ datotekeOddelek: Programiranje | 4044 (3533) | Vesoljc |
» | Perl vprašanje.Oddelek: Programiranje | 1281 (1019) | ABX |