0
Я пытаюсь заполнить массив символов без знака квадратом ASCII, а затем распечатать его на экране. В настоящее время это мой код:заполняющий фреймбуфер с квадратом
#include <stdio.h>
#define W 80
#define H 23
static int clear(unsigned char *p, int lim)
{
int i;
for (i = 0; i < lim; i++)
p[i] = ' ';
return i;
}
static int square(unsigned char *p, int x, int y, int wh)
{
int i, j;
for (i = y; i < wh; i++) {
for (j = x; j < wh; j++)
p[j] = '@';
p[i] = '\n';
}
return i - j;
}
int main(void)
{
unsigned char buf[W * H];
clear(buf, sizeof buf);
square(buf, 1, 2, 3);
fwrite(buf, 1, sizeof buf, stdout);
return 0;
}
Этот код при компиляции приведет ни в печати, не печатаются правильно и т.д ..
Вот результат из кода Я хочу:
@@@
@@@
@@@
Любая помощь приветствуется, так как я не понимаю, как заполняется фреймбуфер, а затем печатает его на экране. Спасибо.
Спасибо, это похоже на работу;) – peinmat
новой строки требуется, когда размер консоли и буфер отличается. Используйте другую функцию, а не используйте fwrite в таком случае. – BLUEPIXY