Cprintf
Содержание
Объявление
void cprintf( const char * format, ... );
Описание
Функция ElfPack2, выводит на консоль форматированную строку. При этом, если EnableConsole = 1, консоль появится на экране.
Является аналогом функции printf библиотеки С stdio.
Параметры
Описание параметров форматирования см. здесь: printf.
cprintf (также как и cprint) поддерживает стандартный набор символов ASCII из нижнего диапазона (цифры, знаки препинания, латинские буквы), кириллические буквы согласно кодировке cp1251, а также псевдографические символы cp866 (DOS) - но их коды смещены на -0x20 относительно стандартного расположения.
Поможет ориентироваться с cp866 программа charmap, входящая в комплект поставки Windows (Accesories/System Tools/Character Map). Переключите её в "Advanced view" и выберите Character set: "DOS: United States". Символы в промежутке от 0xB0 до 0xDF в кодировке cprint(f) расположены в 0x90--0xBF.
Кроме этого, cprint(f) поддерживает цветовое выделение текста. Для этого используются 16 цветов CGA палитры, закодированные в виде управляющих символов 0x80+номер_цвета.
Например, чтобы все символы после текущего окрашивались в тёмно-красный цвет (0x4), нужно написать символ "\x84"
Чтобы ввести специальный символ (псевдографика или цвет), нужно добавить в общей строке "\x<код_символа>" (см. пример), однако с вводом кодов часто возникают проблемы компиляции, поэтому рекомендуется изолировать спецсимволы от текста с помощью дополнительных кавычек:
- "\x8AComplete" - не скомпилируется (найдено число 0x8AC)
- "\x8A""Complete" - так правильно
Пример
INT32 value = 10; // Напишем красным и со значком "█" cprintf("\x84\xBB""value = %d\n", value);