C/C++ Using Gotoxy in C++ for Positioning Characters on Screen

  • Thread starter Thread starter chrisalviola
  • Start date Start date
  • Tags Tags
    C++
AI Thread Summary
To write characters or numbers at specific screen coordinates in C++, users need to rely on external libraries since standard C++ lacks built-in graphics functions. The choice of library often depends on the operating system in use. For Windows, the Windows API can be utilized with the SetConsoleCursorPosition function to achieve similar functionality to Pascal's gotoxy. On Unix systems, the ncurses library allows for text manipulation in character terminals. For graphical user interfaces (GUIs), platforms like Qt are recommended for their robust event handling and cross-platform compatibility. Qt provides various widgets, such as QTextEdit and QLabel, to position text within a window, and it supports rendering through OpenGL or QPainter. Additionally, for users of the Borland compiler, including conio.h enables the use of gotoxy directly, although flushing the output stream may be necessary for proper display.
chrisalviola
Messages
80
Reaction score
0
Is there a way I can write characters or numbers anywhere on the screen in C++ like the ones used in pascal like gotoxy where I simply write screen coordinates as x & y.
 
Technology news on Phys.org
Standard C++ doesn't have graphics functions "built into" it. You have to use an add-on library which is usually tailored for a particular operating system. Your particular version of C++ may come with such a library, but we can't tell you how to use it unless we know which one it is! :frown:

So, tell us which C++ compiler you're using and whether you're using Windows, MacOS or whatever, and maybe someone can help.
 
Under unix there is a library called curses (or ncurses in newer versions) to do printing effects on a character terminal.
Under a GUI it would depend on what platform but most have the ability to write text at a particular coordinate in a window, or you could use something like OpenGL.
 
for msvc its:
#include <windows.h>
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x; coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

http://msdn2.microsoft.com/en-us/library/ms686025.aspx"
 
Last edited by a moderator:
mgb_phys said:
Under unix there is a library called curses (or ncurses in newer versions) to do printing effects on a character terminal.
Under a GUI it would depend on what platform but most have the ability to write text at a particular coordinate in a window, or you could use something like OpenGL.

for GUI in c++ i recommend Qt, it's way of handling events is the best I've seen so far, and it works flawlessly on windows, Linux, and macs... that's the only platforms i programmed for, but it lists many more OS's.
for outputting text with Qt, you can use the QTextEdit widget, create QLabels anywhere on the window, or create you own display widget and render it using either OpenGL (using QGLWidget) or QPainter...

I really love the Qt documentation, it's full of really good examples and tutorials, and the classes all have great descriptions and examples per function...
 
wow, tnks for all the reply will try that.
 
In the Borland compiler you can include conio.h and then you can use gotoxy like pascal.
 
you might need to use a flush on cout too.
 

Similar threads

Replies
10
Views
2K
Replies
5
Views
2K
Replies
4
Views
1K
Replies
5
Views
2K
Replies
8
Views
2K
Back
Top