Цветная консоль в ANSI C?

Действительно ли возможно окрасить консольный вывод просто ANSI C? Без внешней библиотеки? Это может быть сделано в Windows, Linux или Mac OS X?

6
задан Mohit Deshpande 18 July 2010 в 08:26
поделиться

3 ответа

просто ANSI C?

Нет. Стандарт C не предполагает, что стандартный вывод является консолью или имеет цвет.

Можно ли это сделать в Windows, Linux или Mac OS X?

Да. См. Как я могу печатать на консоли в цвете в Mac OS X кроссплатформенным способом? для Linux и Mac OS X.

Для Windows вам может потребоваться прямой доступ к Консольные функции , если вы не хотите использовать внешние библиотеки.

7
ответ дан 9 December 2019 в 20:39
поделиться

Действительно, ISO C ничего не знает о том, что консоль может отображать цвета, однако существует норма ANSI для управления возможностями консоли, основанная на управлении управляющими символами. Это работает прозрачно в Linux и Mac OS X, но не работает в Windows, где необходимо использовать примитивы Win32 API.

Ниже вы можете найти очень простую библиотеку, которая позволяет очистить экран, показать цвета и определить местоположение курсора в определенной координате, в мультиплатформенном виде (Win32 и Unix-подобные системы).

Она поставляется с исходными файлами на языке C (.c и .h), документацией doxygen на испанском языке (doc/) и простой демонстрацией (main.c)

http://github.com/Baltasarq/cscrutil/

0
ответ дан 9 December 2019 в 20:39
поделиться

в Linux это можно сделать, если вы знаете специфичные для оболочки управляющие коды / escape-последовательности.

0
ответ дан 9 December 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: