Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Move text cursor to particular screen coordinate?

How can I set the cursor at the desired location on the console in C or C++?

I remember a function called gotoxy(x,y), but I think its deprecated. Is there any alternative?

like image 909
user1232138 Avatar asked May 01 '12 17:05

user1232138


3 Answers

Neither C nor C++ have any notion of a screen or console; they only see streams of bytes, which have no inherent display characteristics. There are a number of third-party APIs like ncurses to help you do that.

If you want a quick-n-dirty solution and the terminal you're working with understands ANSI escape sequences, then you can do things like

printf("\033[%d;%dH", row, col);

to move the cursor to a specific row and column (where the top left corner is {1,1}). You'd be better off using ncurses, though (or the equivalent for your platform).

like image 106
John Bode Avatar answered Nov 01 '22 09:11

John Bode


Use SetConsoleCursorPosition.

There are a bunch of other functions in the same part of the MSDN library. Some of them may be useful too.

like image 40
Harry Johnston Avatar answered Nov 01 '22 11:11

Harry Johnston


In case you are talking about ncurses library, the function you are after is move (row, column).

like image 3
Septagram Avatar answered Nov 01 '22 09:11

Septagram