Portál AbcLinuxu, 12. května 2025 06:56
Dobrý den, psal jsem to do předchozího dotazu ale jelikož byl vyřešen tak si toho nikdo nevšímá. Takže, píšu program v C++. Vytvořil jsem funkci timer(), která odpočítává 30 vteřin a pak něco spustí atd. A chci do programu udělat, aby program napsal možnosti a uživatel měl právě 30 vteřin na to, aby se rozhodnul. Chtěl bych aby to vypadalo asi nějak takhle:
0:30
"Ano nebo ne?
1) ano
2) ne
>>
Ale program místo toho nejdřív odpočítá a pak napíše ano nebo ne atd., nebo to všecko napíše a v pohodě odpočítává ale kurzorem najede na to odpočítávání a to já nechci, já potřebuju aby kurzorem byl za tím >> . Děkuji za rady.
nevidel som tvoje predchadzajuce otazky, ale podla tvojho popisu to funguje spravne, len kurzor nevypisuje na spravne miesto - co je samozrejme, kedze kurzor zostane o jednu poziciu doprava od posledneho write-u..
bud pouzijes nieco ako gotoxy
z ncurses alebo pouzi escape characters pre terminal, napr:
# \033[<NUM>G move to column <NUM> (linux console, xterm, not vt100)
# \033[<NUM>C move <NUM> columns forward but only upto last column
# \033[<NUM>D move <NUM> columns backward but only upto first column
# \033[<NUM>A move <NUM> rows up
# \033[<NUM>B move <NUM> rows down
co by mohlo vyzerat napriklad:
/* timer */
fprintf (stdout, "\033[1B 00:30\n");
/* ans */
fprintf (stdout, "\033[4B?: \n");
v principe takto .. s tym ze budes ratat, kde si naposledy tlacil znak pre odpoved a kde timer
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.