when i wrote the following program in turbo c,the out put was right but when i wroted it in
borland c,the out put was wrong and the (*) was printed in wrong place,so what is the problem with
borland c for dos.for another example i wrote a program which contained some graphical features
compilers couldent compile it ,exept borland c for dos(even borland c for windows coulden`t compile
it,an error about bgi and windows ...?! happend).

#include <stdio.h>
#include <conio.h>
int main(){
clrscr();

 gotoxy(50,20);//one
 printf("*");

 gotoxy(0,0);//two
 printf("*");

 getch();
return 0;
}

by the way i have an other question:
can u please brif me on bgi api (16- bit 32- bit os) or name some good web sites about it?

gotoxy() is a function developed by Borland for Turbo C. It was never standard C to begin with, so to get your program back to standards and up to date, try using: SetConsoleCursorPosition()
Here's another usefull link

other things that are non-standard in your program are: #include <conio.h> Just delete it clrscr(); Click here for alternatives getch(); . Use getchar(); instead if you're just using it to pause the program

for another example i wrote a program which contained some graphical features
compilers couldent compile it ,exept borland c for dos(even borland c for windows coulden`t compile

As you found out the hard way, attempting to port programs written with ancient Turbo C is pretty tedious -- usually requires 100% rewrite of everything used from dos.h and graphics.h

This article has been dead for over six months. Start a new discussion instead.