I wrote this code... this works on BGI..
Code:
char* gettextxy(int x1,int y1,byte colorback = 0,
byte colorfont = 15, byte limit = 0)
{
byte x=0;
int i=0;
char in[2];
in[0]=' ';
in[1]='\0';
char *texto;
int originalcolor = getcolor();
while(*in!=(char)13)
{
in[0]=getch();
if(in[0]==(char)13) break;
else
if(in[0]==(char)8)
{
x--;
i-=7;
setcolor(colorback);
in[0]=texto[x];
outtextxy(x1+i,y1,in);
}
else
{
if ((x < limit) || (limit == 0))
{
setcolor(colorfont);
outtextxy(x1+i,y1,in);
i+=7;
texto[x]=in[0];
x++;
}
}
}
setcolor(originalcolor);
texto[x]='\0';
return(texto);
}