Как использовать потоки C ++ с библиотечным API c_str ().

Привет, вот мой фрагмент кода:

RIT128x96x4StringDraw(HWREGBITW(&g_ulFlags, 0) ? "1" : "0", 48, 32, 15);

Это используется только для печати некоторой строки на экране.
Я хочу функцию или средство для печати чисел, которые могут быть увеличены, как мы делаем в C ++

for(;;)
{
cout<<i++;
}

1

Решение

Из вашего другого вопроса Дисплей Arm Cortex, мы видим прототип функции.

void RIT128x96x4StringDraw(char *str, ulong x, ulong y, unsigned char level);

Вот параметры,

  • x а также y места на экране. Они есть локации персонажей, так что эта функция рисует текст как printf() или же cout,
  • level параметр — интенсивность; Я думаю, у вас есть ЖК-дисплей в оттенках серого, и вот как белый или же черный текст есть.
  • str это C строка что вы хотите напечатать.

Вот пример, который напечатает число в традиционном С Режим.

#include <stdio.h>
#include <stdlib.h>
void print_number(int i)
{
char buffer[36];
itoa (i,buffer,10);
RIT128x96x4StringDraw(&buffer[0], 0, 0, 15);
}

Это использует itoa() функция для преобразования числа в C Строка. Если вы предпочитаете С ++ синтаксис, следующий код может быть более предпочтительным,

void print_number(int i)
{
std::ostringstream oss;
oss << i++;
/* What ever else you wish to do... */
RIT128x96x4StringDraw(oss.str().c_str(), 0, 0, 15);
}

Этот код не предназначен для пуленепробиваемого производственного кода и может даже не компилироваться. Это для демонстрации концепции.

Вот реализация itoa() если ваша цель ограничена в ресурсах.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]