Prezados leitores:
Depois de alguns anos sem posts, estou reativando o blog para levar informações adicionais para os meus alunos e, eventualmente, comentar assuntos fora da área de eletrônica embarcada.
Nessa postagem falarei sobre o posicionamento do cursor na tela para aplicativos de console, informação voltada aos iniciantes na programação C.
A função gotoxy (int x, int y) disponível no Turbo C / C ++, não é padrão do ANSI C.
Esta função é usada para mover o cursor para um local desejado na tela. O canto superior esquerdo do monitor tem coordenadas (0,0) e o canto inferior direito pode ser qualquer coordenada, dependendo do tamanho da tela. O compilador GCC não disponibiliza a função gotoxy.
Se você estiver desenvolvendo aplicativos de console sem uma biblioteca gráfica de terceiros, a função gotoxy será útil.
Se você precisa de uma implementação semelhante a função gotoxy em uma máquina Windows com o compilador GCC, o código-fonte lhe será útil:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
COORD p;
p.X = 10;
p.Y = 5;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), p);
printf("CURSOR\n\n");
system("pause");
}
Mais informações sobre a função "setconsolecursorposition" em:
https://docs.microsoft.com/pt-br/windows/console/setconsolecursorposition
Se você precisa de uma implementação no GCC Linux , segue abaixo um código-fonte compatível:
#include<stdio.h>
void gotoxy(int, int) ;
int main ()
{
int x=10, y=5;
gotoxy(x,y);
printf("CURSOR\nPressione qualquer tecla para continuar. . . ");
getchar();
return 0;
}
// Função gotoxy()
void gotoxy(int x,int y)
{
printf("\e[%d;%df",y,x);
}
/*
\e é o caractere de escape que avisa o seu terminal que as informações que seguem
não devem aparecer na tela, constituindo-se um comando para o terminal (ou emulador).
O 'f' (pode ser 'H') final indica que se deseja posicionar o cursor no lugar da tela
indicado pelas coordenadas que o precedem.
*/
Boa leitura