Как прочитать значение Esc[#;#R программно?
На консоли Linux широко используются команды, записываемые в виде Esc-последовательностей. Подать подобную команду из консольного приложения очень просто, достаточно написать что-то вроде print(screen,"E[6n") и команда "Выдать текущее положение курсора" поступит именно туда, куда надо, а консоль тут же ответит, выведя на экран сообщение - ^[[20;30R - которое начинается как раз в текущей позиции курсора и означает "строка 20, колонка 30".
Но мне нужно перехватить этот доклад консоли так, чтобы на экран он не попал, а осел в какой-либо переменной в моём консольном приложении, чтобы использовать эти данные для организации дальнейшего вывода текста в окне консоли.
Проблема возникла потому, что, если выводить на консоль русский текст в кодировке utf-8, обычные функции вроде get_cursor_position() на двухбайтовой кодировке сбиваются и выводят неверное значение позиции курсора, а Esc-команда выдаёт именно то, что мне надо.
Спасибо!