[ abstractee @ 18.04.2006. 17:37 ] @
Da li je moguce da u standardnom C pomocu standardnih f-ja postavim znak (char) na odredjeni deo ekrana, npr. hocu da u 16. kolonu 5. reda upisem slovo X?

Koristim Borland C++ Compiler 5.5 i radim u win xp, tacnije u dos-u.
[ [email protected] @ 21.04.2006. 02:36 ] @
Ako imas conio.h header u tom Borlandu, mozes sa gotoxy(); funkcijom. Ova funkcija pomice kursor na odredjene x, y koordinate, pa onda ispisujes tekst normalno sa printf, cout, putchar, puts, ili cime vec radis. Npr. gotoxy(5, 16);.
[ n1tr0 @ 29.04.2006. 17:37 ] @
Samo da napomenem za one koji koriste linux(posto nije navedeno u naslovu teme da je za Win, pa da ljudi trazeci za Linux ne zalutaju):
Za prikaz na proizvoljnom delu ekrana treba koristi header:
Code:
#include <ncurses.h>

U inicijalizaciju dodati:
Code:
initscr();

I za pomeranje cursora na odgovarajucu poziciju koristiti:
Code:
move(int y, int x);

gde su y i x koordinate na ciju poziciju pomerate kursor...

Kada se koristi ncurses.h ispisivanje u shell-u se ne sme vrsiti sa printf, vec sa printw.
Code:
printw(const char *string, arg1, arg2, arg3, ...)

Znaci ista sintaksa kao printf, samo sto je naredba printw...
Zatim, postoji jos i naredba mvprintw(takodje iz ncurses.h), koju mozete korisiti za ispis u shell-u, a koja je ustvari kombinacija naredbi move i printw. Sintaksa:
Code:
mvprintw(int y, int x,const char *string, arg1, arg2, arg3, ...)

gde su y i x koordinate na ciju poziciju pomerate kursor...

Znaci za ispis "Hello world!" na koordinatama X=10 i Y=5 pisali bi:
Code:

move(5,10);
printw("Hello world!");

ili
Code:

mvprintw(5,10,"Hello world!");


[Ovu poruku je menjao n1tr0 dana 29.04.2006. u 18:46 GMT+1]
[ Mali Misha @ 01.05.2006. 11:51 ] @
Pretpostavljam da imas i windows i da ti nije bas zapelo za striktni C...

Code:
#include <windows.h>
#include <stdio.h>

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

void setxy(int x,int y)
{
    COORD coord = {x,y};
    SetConsoleCursorPosition(hConsole,coord);
}

main()
{
    setxy(4,4);
    putchar('a');

    return 0;
}


Ima i dalje:
http://www.codeguru.com/Cpp/W-D/console/article.php/c3959/
http://dslweb.nwnexus.com/~ast/dload/guicon.htm