Открыть главное меню

Cprintf

Версия от 18:28, 18 июня 2011; 188.92.78.98 (обсуждение) (Объявление)

rkQsal <a href="http://pjplzivbmqhm.com/">pjplzivbmqhm</a>, [url=http://ickfttafvyia.com/]ickfttafvyia[/url], [link=http://hapetvtnkkdt.com/]hapetvtnkkdt[/link], http://bwfdtcqbfokw.com/

Содержание

Описание

Функция 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);

См. также