Задать вопрос
@Trans00
Java-разработчик

Как получчить числовое отображение unsigned char с помощью sprintf() в с?

Пытаюсь напечатпть два чара на экране:
sprintf (str, "Max:%d,Min:%d", 0x05, 0x00);
А в ответ вместо "Max:5,Min:0" получаю "Max:1280,Min:12...", почему так происходит?
  • Вопрос задан
  • 2479 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик на C++: Профессия + специализация + нейросети
    12 месяцев
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
Решения вопроса 1
@Trans00 Автор вопроса
Java-разработчик
В результате сделал насильное приведение чаров к интам:
sprintf (str, "Max:%d,Min:%d",(int)mem.cell[2], (int)mem.cell[3]);
Костыль, но работает. Спасибо за помощь=)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Eddy_Em
Потому что маны внимательно читать надо!
sprintf (str, "Max:%u,Min:%u", 0x05, 0x00);
а еще правильнее - так:
sprintf (str, "Max:%hhu,Min:%hhu", 0x05, 0x00);
Ответ написан
gbg
@gbg
Любые ответы на любые вопросы
Покажите весь код. Потому как ваш пример работает именно так, как вы ожидаете.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы