Печать unsigned long long в ESP8266
Мне нужно напечатать переменную long long без знака:
unsigned long long t = 1559072327000ULL;
Я пробовал следующее:
Serial.println(t); // вызов перегруженного 'println(uint64_t&)' неоднозначен
char[18] buf;
sprintf(dt, 18, "%lu", t); // Выводит 4294165848
snprintf(dt, 18, "%lu", t); // Печатает 126
vsnprintf(dt, 18, "%lu", t); // невозможно преобразовать 'uint64_t {aka long long unsigned int}' в '__gnuc_va_list {aka __va_list_tag}'
Есть предложения?
@Yván Ecarri, 👍3
Обсуждение1 ответ
Лучший ответ:
▲ 4
Хорошо, я понял... эта двойка напечатает правильное число:
sprintf(dt,"%llu", t);
snprintf(dt, 18, "%llu", t);
,
@Yván Ecarri
Смотрите также:
- Как преобразовать четыре uint16_t в двойное число с плавающей запятой IEEE754?
- Изменить строку типа данных
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как получить тип данных переменной?
- Преобразование в Unix Timestamp и обратно
char[18] buf;
<-- что это такое? Если вы собираетесь опубликовать код в своем вопросе, пожалуйста, не подделывайте код. Опубликуйте реальный код, который вы действительно пытались использовать., @AnT