Я нашел решение переместить курсор в нужные места с помощью escape-последовательности.С этим я могу создать индикатор мобильного сигнала, как показано ниже.
код для того же самого:
void draw_antenna(int level)
{
static current_level = 0;
unsigned char cnt = 0, l = 0;
//let assume atenna having 5 level (0-5) and 5 is max
// 5x5 matrix and color need to be controled in column
for (cnt = 0; cnt <= ANTENNA_L; cnt++)
{
for (l = 0; l < cnt; l++)
{
if (cnt <= level)
printf("\033[%d;%dH\033[0;42m\033[1;32m%c\033[0m", 15-l, 25+(cnt*2),' ');
else
printf("\033[%d;%dH\033[48;5;7m\033[1;34m%c\033[0m", 15-l, 25+(cnt*2),' ');
fflush(stdout);
}
}
printf("\033[%d;%dH \033[1;33m%.*so\033[1;30m%*s\033[0m", 16, 25, level*2, TT,10-(level*2),"");
//update current status
current_level = level;
}
* введите описание изображения здесь