Вывод текста и позиционирование
void clreol(void);
clreol стирает все символы от позиции курсора
до конца строки. Курсор остается на месте.
void clrscr(void);
clrscr очищает текущее текстовое окно и устанавливает курсор в верхний левый угол (в позицию 1, 1).
void clrarea(int left, int top, int right, int bottom);
Очищает область с указанными координатами в текущем окне
int cprintf(const char *format[,аргумент,...]);
Выводит значения по формату в текущее окно в соответствии с текущими выбранными цветами. Для перехода на новую строку в функции cprintf необходимо использовать пару - "\r\n".
int cputs(const char *string);
cputs выводит ограниченную нулем строку string в текущее текстовое окно. в соответствии с текущими выбранными цветами. Для перехода на новую строку в функции cputs необходимо использовать пару - "\r\n".
void delline(void);
delline стирает строку, в которой находится курсор, и поднимет все строки, находящиеся ниже курсора, на одну строку вверх внутри текущего текстового окна.
void gotoxy(int x, int y);
gotoxy устанавливает курсор в заданную позицию
текстового окна. Если координата по какой-то
причине некорректна, то обращение к gotoxy игнорируется.
void insline(void);
insline - вставляет пустую строку в позиции
курсора текстового окна, используя при этом текущий цвет фона. Все строки под пустой сдвигаются на одну строку вниз, а последняя строка в
текстовом окне пропадает.
int putch(int ch);
putch выводит символ сh в текущее текстовое
окно.
int wherex(void);
wherex возвращает координату x текущей позиции курсора (внутри текущего текстового окна).
int wherey(void);
wherey возвращает координату y текущей позиции курсора (внутри текущего текстового окна).
void drawborder(int left, int top, int right, int bottom, const char *styles);
Рисует рамку или линию из символов псевдографики. Параметр styles задает тип рамки можно указать от 0 до 4 символов. По умолчанию рисуется одинарная рамка, можно указать
"-" - одинарная,
"=" - двойная, "#" - сплошная. Можно указать стиль для каждой границы: сначала для левой, потом верхней, правой и нижней границы (если указано только 2 символа, то они применяются повторно). Для пропуска границы можно указать символ
" ". Если left==right рисуется вертикальная линия, если top==bottom - горизонтальная. Рекомендуется сначала рисовать рамку, затем внутренние линии, начинающиеся и заканчивающиеся на границах рамки.
Пример таблицы 2x2:
clrscr();
drawborder(2,2,10,10,"=");
drawborder(2,4,10,4,"-");
drawborder(4,2,4,10,"-");
Пример рисования кнопки:
textbackground(BLUE);
clrscr();
textattr(to_attr(BLACK,NO_COLOR,0));
drawborder(50,10,60,11," ##"); // тень
textattr(to_attr(WHITE,GREEN,0));
clrarea(50,10,59,10);
gotoxy(54,10);
cputs("OK");
int putwch(wchar_t ch);
int cputws(const wchar_t*str);
int cwprintf(const wchar_t *format, ... );
Дополнительные полезные функции для кодировки Unicode.
wchar_t ansi2unicode(char ch);
char unicode2ansi(wchar_t ch);
Функции для преобразования из кодировки ANSI в Unicode и обратно. Константы в кодировке Unicode в языке C/C++ записываются как L'a' и L"abc". Также коды символов можно посмотреть в программе "Таблица символов" в шрифте "Lucida Console".