Печать в консоли Windows в положении x, y - PullRequest
1 голос
/ 12 января 2012

Я хочу напечатать в определенной позиции (X, Y) на стандартной консоли в Windows.
Я пытался использовать conio.h, но устарел / не существует. Был метод gotoxy (x, y), который мне нужен. Я пробовал эти способы, но он просто печатает дополнительные символы:

    printf("%c[%d;%df",0x1B,y,x);
    printf("\x1B%c[%d;%df",0x1B,y,x);
    printf("\x1B[%d;%dH", 0x1B, y, x);  

Заранее спасибо.

1 Ответ

2 голосов
/ 12 января 2012

Вызов Windows API для позиционирования курсора в консоли: SetConsoleCursorPosition.

Как кто-то прокомментировал, "curses" - это кроссплатформенная консольная библиотека для таких вещей: реализации для Windows существуют. («PDcurses», я думаю, является одной из таких реализаций.) Они позволят вам делать такие вещи, как цвет, положение курсора и т. Д., И переносить вашу программу на другие ОС, такие как Linux.

Перечисленные вами операторы printf являются escape-последовательностями для нескольких типов терминалов. К сожалению, Windows не использует escape-последовательности для позиционирования терминала.

...